Bardzo prostu umieścić:Nierozwiązane symbol zewnętrzny na statycznych członków klasy
Mam klasy, który składa się głównie z członków statycznych publicznych, więc można grupować podobne funkcje razem, że nadal muszą być wywoływane z innych klas/funkcji.
W każdym razie, zdefiniowałem dwie statyczne niepodpisane zmienne char w zakresie publicznym mojej klasy, kiedy próbuję zmodyfikować te wartości w konstruktorze tej samej klasy, podczas kompilacji otrzymuję błąd "nierozwiązanego symbolu zewnętrznego".
class test {
public:
static unsigned char X;
static unsigned char Y;
...
test();
};
test::test() {
X = 1;
Y = 2;
}
Jestem nowy w C++, więc idź łatwo. Dlaczego nie mogę tego zrobić?
Jeśli piszesz tylko nagłówka biblioteki, można użyć tej techniki, aby uniknąć pliku cpp: http://stackoverflow.com/questions/11709859/how-to-have-static -data-members-in-a-header-only-library – ShitalShah