Avere una struttura come questa in C++ 11:C++ 11 corretta inizializzazione Struttura
struct von
{
std::string Name;
unsigned int ID;
std::vector<std::string> Checks;
};
Qualora sia inizializzato in questo modo:
von v = {"",0,{}};
O come questa:
von v = {};
Entrambi i metodi sembrano funzionare, ma il compilatore mette in guardia sugli inizializzatori del campo di sformatura sull'ultimo esempio.
Modifica: Ecco le opzioni del mio compilatore: g ++ main.cpp -ansi -Wall -Wextra -WeffC++ -std = C++ 0x. Sto usando g ++ (Debian 4.6.2-12) 4.6.2
Nessun elenco di inizializzatori nell'esempio, solo inizializzazione dell'elenco. Il modo migliore potrebbe essere 'von v {};'. –
von v {}; si lamenta anche di inizializzatori mancanti per i membri. È un avvertimento di inizializzatore del campo -Wissing-field. – 01100110
Hm, hai ragione. È un peccato non poter valutare - inizializzare una variabile automatica ... 'von v {{}, 0, {}};' è la cosa migliore. –