Rug*_*rra 7 c++ constructor default-parameters
假设我有一堂课
class C {
C(int a=10);
};
Run Code Online (Sandbox Code Playgroud)
为什么我打电话
C c;
Run Code Online (Sandbox Code Playgroud)
C(int =10)调用构造函数,如果我调用
C c();
Run Code Online (Sandbox Code Playgroud)
调用默认构造函数?怎么避免这个?我想只执行我的构造函数,我试图将默认构造函数设为私有,但它不起作用.
sbi*_*sbi 17
C c();应该将其解析为函数声明.为了显式调用default-constructor,您需要编写C c = C();.explicit,以防止隐含转换在意外时刻踢出.Kon*_*lph 14
代码C c();不符合您的想法:
它声明了一个c不带参数的函数,并返回一个C.它相当于
C c(void);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2712 次 |
| 最近记录: |