使用MSVC++ 6.0制作了这个简单的类
class Strg
{
public:
Strg(int max);
private:
int _max;
};
Strg::Strg(int max)
{
_max=max;
}
听起来不错,如果我在中使用它:
main()
{
Strg mvar(10);
}
但是现在,如果我在另一个类中使用它:
class ok
{
public:
Strg v(45);
};
我收到消息错误:
错误C2059:语法错误:“常量”
你能告诉我更多吗?
最佳答案
应该:
class ok
{
public:
Strg v;
ok() : v(45) {}
};
没有默认构造函数(在这种情况下为v)的非静态成员变量应使用initialization lists初始化。另一方面,在函数(如main)中,可以使用常规构造函数语法。