无论如何使用成员函数作为默认参数?

Rol*_*ien 4 c++ member-functions default-parameters

它尝试过类似的东西,但是没有用.有没有办法获得类似的效果?

class A
{
public:
  int foo();
  void bar(int b = foo());
};
Run Code Online (Sandbox Code Playgroud)

ltj*_*jax 16

是.重载该函数并调用其中的member-function.

void bar() { bar(foo()); }

  • @Nicklamort:实际上,当你有一个参数的默认值时,你可以调用该函数而不传递该参数的任何参数; 你也可以选择传递参数.这正是这里的情况.您可以将*bar*称为`bar()`以及`bar(10)`...所以实际上**似乎*bar的参数具有默认值! (4认同)