多个默认可选值

时间:2019-02-10 11:49:51

标签: c++ parameter-passing optional-parameters default-parameters

我有一个函数,可以接受两个带有默认值的整数,有没有一种方法可以让函数的调用者根据需要传递尽可能多的参数? (第一但不是第二,第二但不是第一,两者)。 例如:

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
}

1 个答案:

答案 0 :(得分:0)

使用另一个包装器内联函数

   void DoSomething(int f = 0 , int s = 0)
   {}
   void inline DoSomethingS(int s = 0)
   {DoSomething(0 , s);}

如果用户要发送第二个并保留第一个可选内容,则在这种情况下,他将使用DoSomething +选项。