函数中的默认参数[C++]

The*_* do 3 c++ default-value

我试着这样做:

int& g(int& number = 0)
{
//maybe do something with number
    return number;
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它必须通过引用传递.感谢您的任何帮助.

PS我认为一旦你输入Title就出现"相关问题"是一个好主意,但我也认为只有当它们与特定语言相关时才应该显示它们,即对于我来说看待类似主题并不是没用的问题,但在Ruby中.

小智 11

如果你真的想这样做:

  • 使引用const,以便临时可以绑定它
  • 将默认值放在函数声明中,而不是定义中

例如:

// header
const int & g( const int & number = 0 );


// implementation
const int & g( const int & number )
{
//maybe do something with number
    return number;
}
Run Code Online (Sandbox Code Playgroud)

PS发布关于SO如何在Meta上工作的投诉,而不是在这里(为了它将会做的所有好事 - 回答这个问题表明他们仍然没有修复代码列表后的错误)