例如:
void DoSome(int a = 10, int b = 10 ) {
std::cout << a + b << std::endl;
}
作品。但
void DoSome(int a = 10, int b ) {
std::cout << a + b << std::endl;
}
将不会。
您的特定示例可能会起作用,但请考虑更一般的情况:
void foo(int = 10, int, int = 20);
现在是什么foo(1, 2)
意思?可以是foo(10, 1, 2)
或foo(1, 2, 20)
。这令人困惑,并且与弄清楚实际争论是什么的沉重精神负担相比,允许这样做几乎不会增加便利。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句