我有一个函数,可以接受两个带有默认值的整数,有没有一种方法可以让函数的调用者根据需要传递尽可能多的参数? (第一但不是第二,第二但不是第一,两者)。 例如:
void do_something(int first = 0, int second = 0);
int main()
{
do_something(1); // first - how to declare it's the first argument
do_something(1); // second
do_something(1,1);
do_something();
return 0; // I want to allow all those options
}
答案 0 :(得分:0)
使用另一个包装器内联函数
void DoSomething(int f = 0 , int s = 0)
{}
void inline DoSomethingS(int s = 0)
{DoSomething(0 , s);}
如果用户要发送第二个并保留第一个可选内容,则在这种情况下,他将使用DoSomething +选项。