Очень просто поставить:неразрешенный внешний символ на статические члены класса
У меня есть класс, который состоит в основном из статичных публичных членов, так что я могу группировать схожие функции вместе, которые еще должны быть вызваны из других классов/функций.
В любом случае, я определил две статические переменные без знака в общедоступной области моего класса, когда я пытаюсь изменить эти значения в конструкторе того же класса, я получаю ошибку «неразрешенный внешний символ» при компиляции.
class test {
public:
static unsigned char X;
static unsigned char Y;
...
test();
};
test::test() {
X = 1;
Y = 2;
}
Я новичок в C++, поэтому легко на меня. Почему я не могу это сделать?
Если вы пишете библиотеку заголовка только, вы можете использовать эту технику, чтобы избежать CPP файла: http://stackoverflow.com/questions/11709859/how-to-have-static -data-члены-в-а-заголовок-только-библиотека – ShitalShah 2016-11-18 18:49:23