关于const!
C++中,在类中定义一个const数据成员,怎么对其初始化?
C++中,在类中定义一个const数据成员,怎么对其初始化?
可以在初始化列表中吧
我试了,编译出错
是不是cpp中要定义一下。
class X
{
private:
const int data_;
public:
X(int data):data_(data){}
};
用gcc编译毫无问题。
如果是整数类型可以在类定义中:
class A
{
...
const int m_nTest = 2;
...
}
或者其他类型 const int A::m_nTest = 2;
LZ应该搞明白 初始化 和 赋值 是不一样的,const值只能初始化,不能被赋值。
所以,在类的构造函数里,应该用a(_a)的方式初始化,如果在函数体内按照a = _a会出错。