2016-04-21 15 views

risposta

13

, è perfettamente corretto definire un enum all'interno di una funzione. Il tuo codice rappresenta la dichiarazione enum anonima perfettamente legale.

Gli edifici e le classi possono essere dichiarati all'interno di una funzione (e possono anche essere anonimi). L'unica limitazione con tipi dichiarati all'interno di una funzione (anziché nello spazio dei nomi o nell'ambito della classe) è che non possono essere utilizzati come parametri del modello.

more information onEnumeration

C++ 11 in poi

Bene la limitazione per quanto riguarda i parametri di modello è stato cambiato da C++ 11, per ulteriori informazioni sui parametri di modello si possono trovare sul collegamento Template Parameters

+2

* non possa * essere usato come parametro del modello. – Quentin

+3

Questa limitazione è cambiata da C++ 11: [Demo] (http://coliru.stacked-crooked.com/a/ef41907c81b5502f) – Jarod42

+0

grazie mille! –

Problemi correlati