所以我是编程的noob,我不确定为什么我无法在我的类中创建一个静态变量?我从课堂上得到了一个问题,我不确定我是否以正确的方式开展工作。 问题是:使用静态成员项创建一个类,以便无论何时创建新对象 ,都可以报告该类的对象总数。在类中创建静态变量(C++)
这是到目前为止我的代码:
#include <iostream>
class ObjectCount
{
public:
ObjectCount();
void reportObjectNo();
private:
static int objectNo = 0;
};
ObjectCount::ObjectCount()
{
objectNo++;
}
void ObjectCount::reportObjectNo()
{
std::cout << "Number of object created for class ObjectCount: " << objectNo << std::endl;
}
int main()
{
ObjectCount firstObject;
firstObject.reportObjectNo();
ObjectCount secondObject;
secondObject.reportObjectNo();
ObjectCount thirdObject;
thirdObject.reportObjectNo();
return 0;
}
和错误我得到的回复是:
ISO C++ forbids in-class initialization of non-const static member 'objectNo'
line 9
我真诚地道歉,如果这已经被问过,但我无法找到任何帮助我,如果有链接,将不胜感激:)
[error:ISO C++禁止非常量静态成员的类内初始化]的可能重复(http://stackoverflow.com/questions/20310000/error-iso-c-forbids-in-class-initialization-的-非const静态部件) –