如何解析函数参数,当所有参数都有默认值并且只使用其中一些时? 例子: 我有一个带有多个默认值参数的函数
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)
。
关于c++ - 具有不同默认参数值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27042405/