繁体   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