Non riesco, per la vita di me, a capire come farlo correttamente. Ho una classe che ha bisogno di memorizzare alcune costanti (testo che corrisponde a valori in un tipo enum) - l'ho dichiarato come questo (pubblicamente) nella mia classe:Inizializzazione dell'array statico di stringhe (C++)?
const static char* enumText[];
E io sto cercando di inizializzarlo in questo modo:
const char* MyClass::enumText[] = { "A", "B", "C", "D", "E" };
Tuttavia gcc mi dà il seguente errore:
'const char * MiaClasse :: enumText []' non è un membro statico di 'class MyClass'
Cosa am Sto sbagliando? Grazie!
Provare: static const char * enumText []; in classe? –
Sospetto fortemente che questa sia una vecchia versione g ++ che tratta in modo errato 'const static char * []' lì come 'static char * [] const' piuttosto che' static const char * [] '(perché' static' sta in un posto "insolito"). –
Potresti incollare un pezzo di codice completo e compilabile nella tua risposta che mostri il problema? – sbi