簡體   English   中英

具有不同默認參數值的函數

[英]Functions with different value of default arguments

當所有參數都具有默認值並且僅使用其中的一部分時,如何解析函數參數? 示例:我有一個帶有多個帶有默認值的參數的函數

void fun(string a="", int b=0, string c="", int d=0)
{
 //parse used arguments somehow
}

我想將它與不同的參數值一起使用,例如:

fun("foo", 10);
fun(10, 10);

如何確定使用了哪些參數? 參數的最大值是已知的,並且順序將始終相同。 我不想運行類似的功能:

fun("", 3, "", 10);

而且我不能使用可變參數函數。

有任何想法嗎?

重載功能。

void fun(int b, int d) { fun("", b, "", d); }

然后fun(3, 10)等效於fun("", 3, "", 10)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM