【发布时间】:2013-03-15 17:56:05
【问题描述】:
我有一个类有另一个类的成员变量:
class MeasurementUnit {
private:
MeasurementMultiplier _multiplier;
实际上我不需要MeasurementMultiplier 的默认构造函数,因为实际上我将使用参数MeasurementMultiplier(a,b,c) 进行初始化,我会 - 但不能直接:
C2864: 'MeasurementUnit::_multiplier' :
only static const integral data members can be initialized within a class
所以我需要默认构造函数,没有它就无法编译error: C2512: 'MeasurementUnit' : no appropriate default constructor available
我可以避免需要默认构造函数吗?
【问题讨论】:
-
使用初始化列表或获取支持 C++11 类内成员初始化的编译器。
-
您可能需要改写这个问题?我一个人不明白。
-
您可以将默认参数值赋予其他构造函数。