pi314: Я осведомлён о существовании своего преподавателя, который говорит мне, как всё должно выглядеть, и это определяющий фактор создания данного вопроса)
Mercury13: я просто всё лишнее убрал, чтоб проблему показать, а так всё дело в конструкторе копирования, который в данном примере не перегружен для увеличения счётчика
А насчёт моего случая не можете подсказать? Такая же ошибка при компиляции "Ошибка LNK2001 неразрешенный внешний символ ""public: static int Student::cnt" (?cnt@Student@@2HA)" Проект2 C:\Users\User\Documents\Visual Studio 2015\Projects\FreeWork\Проект2\Source.obj Строка 1 ". Однако если убрать обращение к статической переменной, ошибки нет.
#include <iostream>
class Student {
public:
static int cnt;
Student() {
cnt++;
};
};
int main(void) {
Student::cnt = 0;
Student s1;
Student s2 = s1;
return 0;
}