当所有函数参数都有默认值并且只使用其中一些参数时,如何解析函数参数? 例: 我有一个带有几个参数的函数,默认值为
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);
我不能使用可变函数。
有什么想法吗?
答案 0 :(得分:3)
重载该功能。
void fun(int b, int d) { fun("", b, "", d); }
然后fun(3, 10)
等同于fun("", 3, "", 10)
。