Когда элемент данных класса объявляется static
в определении класса это - статический член класса. Необходимо инициализировать статические элементы данных вне класса, потому что они существуют, даже когда никакой экземпляр класса не был создан.
class Test { public: static int m_number = 0; };
Сообщение об ошибке:
Error: a member with an in-class initializer must be const
Исправленный код:
в файле Test.h | в файле Test.cpp |
---|---|
class Test { public: static int m_number; }; | int Test::m_number = 0; |