Nierozwiązany zewnętrzny symbol na statycznych członkach klasy

Bardzo prosto:

Mam klasę składającą się głównie ze statycznych członków publicznych, więc mogę grupować podobne funkcje razem, które nadal muszą być wywoływane z innych klas / funkcji.

W każdym razie zdefiniowałem dwie statyczne zmienne typu unsigned char w moim zasięgu publicznym klasy, gdy próbuję zmodyfikować te wartości w konstruktorze tej samej klasy, otrzymuję błąd „nierozwiązany symbol zewnętrzny” podczas kompilacji.

class test 
{
public:
    static unsigned char X;
    static unsigned char Y;

    ...

    test();
};

test::test() 
{
    X = 1;
    Y = 2;
}

Jestem nowym użytkownikiem C ++, więc nie przejmuj się. Dlaczego nie mogę tego zrobić?

questionAnswers(4)

yourAnswerToTheQuestion