定义一个对象没有使用初始化表达式,就像下面的一样
Foo f1;Foo f2 = Foo();Foo f2(); // 这个是错的,它声明了一个函数
就会调用默认构造函数(不带参数或者形参含有默认值),如果类没有定义构造函数,那么编译器会自动合成一个默认的构造函数。
如果类中定义了其他类型的构造函数,那么这个类是没有默认构造函数。
本文共 219 字,大约阅读时间需要 1 分钟。
定义一个对象没有使用初始化表达式,就像下面的一样
Foo f1;Foo f2 = Foo();Foo f2(); // 这个是错的,它声明了一个函数
就会调用默认构造函数(不带参数或者形参含有默认值),如果类没有定义构造函数,那么编译器会自动合成一个默认的构造函数。
如果类中定义了其他类型的构造函数,那么这个类是没有默认构造函数。
转载于:https://www.cnblogs.com/wendellyi/p/4014387.html