Частный статический элемент данных в Cpp.. может быть инициализирован только при его определении, но недопустимая инициализация в классе?

При инициализации в заголовочном файле я получаю следующую ошибку:

invalid in-class initialization of static data member of non-integral type 'bool [8]'

если я пытаюсь инициализировать в .cpp, я получаю:

'bool Ion::KeyboardInput::key [8]' is a static data member; it can only be initialized at its definition

Вот заголовок:

enum MYKEYS {
    KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_W, KEY_S, KEY_A, KEY_D
};

class KeyboardInput
{
public:
    KeyboardInput();
    ~KeyboardInput();
    static void getKeysDown(ALLEGRO_EVENT ev);
    static void getKeysUp(ALLEGRO_EVENT ev);
    static bool getKey(int keyChoice);

private:
    static bool key[8] = {false, false, false, false, false, false, false, false};
};
5
задан ollo 18 June 2012 в 23:17
поделиться