c++ - VC++6错误C2059 : syntax error : 'constant'

标签 c++ visual-c++-6

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

关于c++ - VC++6错误C2059 : syntax error : 'constant' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519035/

相关文章:

c++ - set::insert 的复杂度

c++ - USP10.DLL 中的内存泄漏

c++ - AdjustTokenPrivileges 错误 ERROR_NOT_ALL_ASSIGNED

c++ - static_cast<T* volatile*> - 这段代码是什么意思?

c++ - 视觉 C++ VC6 静态

c++ - 使用静态变量和模板

c++ - 如何在 C++ 中编写一个通用函数,将整数和字符串作为参数并修改它们?

c++ - Boost 最新版本兼容 VC++6 是什么?

c++ - 了解 VC++ 项目/解决方案资源管理器文件层次结构

c++ - 我可以直接在VC9项目中使用用VC6构建的C风格库吗?