C++中的Const过程,Visual Studio C++ 2010中的奇怪错误?

Aft*_*ock 0 c++ visual-c++-2010

class a{
public:
    int b;
    static int c;
    virtual void mod() const
    {
        c=4;
    }

};



int _tmain(int argc, _TCHAR* argv[])
{
  a bi;

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

看看这个...使用Visual Studio C++ 2010编译器编译之后,我得到......

cpplearningconsole.obj:错误LNK2001:未解析的外部符号"public:static int a :: c"(?c @ a @@ 2HA)

我想这是一个编译器错误.对我来说,真正的问题是.如果它是const,mod应该能修改吗?

谢谢.

Ash*_*sha 8

您刚刚在类定义中声明了静态变量,您需要在执行中定义int a::c = 0;.