#include <iostream>
using namespace std;
class Box
{
public:
static int objectCount;
}
// Initialize static member of class Box
int Box::objectCount = 0;
答案 0 :(得分:1)
似乎你混淆了声明和变量的定义。
声明只是告诉编译器一个名字。 所以在你的情况下:
class Box
{
public:
static int objectCount;
};
这只是告诉编译器有一个名为objectCount
的变量
但现在你还需要一个定义。
int Box::objectCount = 0;
简化定义是链接器需要的内容 因此,作为一个简单的规则,静态成员变量必须在类中声明,然后在其外部定义。