例如:
void DoSome(int a = 10, int b = 10 ) {
std::cout << a + b << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
作品.但
void DoSome(int a = 10, int b ) {
std::cout << a + b << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
将不会.
您的特定示例可能有效,但请考虑更一般的情况:
void foo(int = 10, int, int = 20);
Run Code Online (Sandbox Code Playgroud)
现在foo(1, 2)意味着什么?它可以是foo(10, 1, 2)或foo(1, 2, 20).这是令人困惑的,并且与确定实际论点的大量精神负担相比,允许这样做几乎不会增加便利性.
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |