2012-11-30 16 views
7

Powiel możliwe:
initialize a const array in a class initializer in C++const inicjalizacji tablicy członkiem klasy

To kwestia początkujących. Jak zainicjować element klasy stałej liczby całkowitej? Myślę, że w tym samym przypadku klasyczna tablica nie jest najlepszym wyborem, co powinienem użyć zamiast niej?

class GameInstance{ 
    enum Signs{ 
     NUM_SIGNS = 3; 
    }; 
    const int gameRulesTable[NUM_SIGNS][NUM_SIGNS]; // how to init it? 
public: 
    explicit GameInstance():gameRulesTable(){}; 
}; 
+0

Dziękuję za komentarz, spojrzałem na to pytanie, ale na to pytanie udzielono odpowiedzi w 2008 r. I była dyskusja na temat możliwych nowych funkcji standartowych, które zostały zaakceptowane później w 2011 r. – vard

+3

Istnieje odpowiedź na C++ 11 w tym pytaniu . –

+0

Niestety, nie mogę znaleźć (( – vard

Odpowiedz

5

Czy to jest statyczne?

class GameInstance{ 
    enum Signs{ 
     NUM_SIGNS = 3}; 
    static const int gameRulesTable[2][2]; 
public: 
    explicit GameInstance(){}; 
}; 

...in your cpp file you would add: 
const int GameInstance::gameRulesTable[2][2] = {{1,2},{3,4}}; 
+0

Niestety mój kompilator nie pozwala na to.Opowiada, że ​​istnieje wiele deklaracji tablicy. – vard

+2

@vard 'const int GameInstance :: gameRulesTable [2 ] [2] = {{1,2}, {3,4}}; '- powinno to być w pliku .cpp. – Stals

Powiązane problemy