dejmien Temat założony przez niniejszego użytkownika |
Dklarowanie tablic enum w klasie. » 2014-01-17 10:54:34 Witam. Mam tablice która zawiera wartości z typu wyliczeniowego. Normlanie nie mam z tym problemu ale podczas deklaracji w klasię pojawiają się problemy. Jak by ktoś mógł zerkną co robię źle: class plansza { public: enum field { puste, kolko, krzyzyk }; field tablica[ 3 ][ 3 ]; }; plansza::field tablica[ 3 ][ 3 ] = { { puste, puste, puste }, { puste, puste, puste }, { puste, puste, puste } };
Próbowałem już na różne sposoby i cały czas błąd: puste was not declarated in this scope. Nie wiem czemu tak przecież tablica jest typu field... |
|
maly |
» 2014-01-17 11:07:23 |
|
dejmien Temat założony przez niniejszego użytkownika |
» 2014-01-17 11:19:11 Nie działa to plansza::puste; |
|
maly |
» 2014-01-17 11:26:41 Jeśli chcesz zainicjować tablicę w klasie to Wymaga C++11 class plansza { public: enum field { puste, kolko, krzyzyk }; plansza::field tablica[ 3 ][ 3 ] = { { puste, puste, puste }, { puste, puste, puste }, { puste, puste, puste } }; }; lub class plansza { public: enum field { puste, kolko, krzyzyk }; plansza::field tablica[ 3 ][ 3 ]; plansza() : tablica( { { puste, puste, puste }, { puste, puste, puste }, { puste, puste, puste } } ) { } }; albo poprostu dwoma for-ami w konstruktorze; |
|
Monika90 |
» 2014-01-17 11:26:58 W ten sposób można inicjalizować tylko statyczne składowe, niestatyczną zaincjalizuj w konstruktorze. class plansza { public: plansza() : tablica() { } private: enum field { puste, kolko, krzyzyk }; field tablica[ 3 ][ 3 ]; };
|
|
dejmien Temat założony przez niniejszego użytkownika |
» 2014-01-17 17:54:30 Dzięki Monika miałaś racje, konstruktor rozwiązał sprawę. |
|
« 1 » |