Я пытаюсь подсчитать количество экземпляров класса, изменяя статический элемент данных:Изменение статического члена данных в конструкторе класса
class C
{
public:
static unsigned int i;
C(){i++;}
};
это показывает ошибку:
Main.obj: ошибка LNK2001: неразрешенный внешний символ "public: static unsigned char C :: i" (? i @ C @@ 2EA)
, пожалуйста, помогите мне здесь, отредактировав этот код для соответствующего функционирования или сообщив мне решение этой проблемы без использование любой глобальной переменной.
Ваши ответы будут оценены.
Спасибо.
просто добавьте 'unsigned int C :: i = 0;' после объявления класса и это будет работать –
Также http://stackoverflow.com/questions/15845745/lnk2001-error-when-accessing-static-variables- c, http://stackoverflow.com/questions/16049306/error-lnk2001-unresolved-external-symbol-private-static-class и многие другие. – AnT