VC++ 6错误C2059:语法错误:'常量'

Ste*_*tef 3 c++ visual-c++-6

用MSVC++ 6.0制作这个简单的类

class Strg
{
public:
    Strg(int max);
private:
    int _max;
};


Strg::Strg(int max)
{
  _max=max;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用它听起来不错:

main()
{
  Strg mvar(10);
}
Run Code Online (Sandbox Code Playgroud)

但是现在如果我在另一个类中使用它:

class ok
{
public:
    Strg v(45);
};
Run Code Online (Sandbox Code Playgroud)

我收到消息错误: 错误C2059:语法错误:'常量'

你能告诉我更多吗?

Fir*_*aad 7

应该:

class ok
{
public:
    Strg v;
    ok() : v(45) {}
};
Run Code Online (Sandbox Code Playgroud)

应使用初始化列表初始化没有默认构造函数(在本例中为v)的非静态成员变量.另一方面,在函数(如main)中,您可以使用常规构造函数语法.