使用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)中,可以使用常规构造函数语法。

09-25 21:53