Mentre qualificare un valore di enumerazione con il nome dell'enumerazione non è valido C++ 03, è valido C++ 11, da quello che ho capito. Nonostante questo, MSVC 10 genera C4482 di avviso per i seguenti:È sicuro disabilitare l'avviso MSVC C4482?
enum E { A, B };
int i = E::A; // warning C4482 (but valid C++11?)
Dato che gran parte del nostro codice utilizza C++ 11 caratteristiche (soprattutto lambda), sembra sicuro di disattivare questo avviso. Ho ragione che il codice è valido C++ 11?
Nota: non ho scritto il codice in questione e preferisco non passare e modificare ogni occorrenza di questo.
Modifica: Aggiunti alcuni collegamenti pertinenti.
- MSDN page for the warning.
- Another question about the warning. La domanda e le risposte sembrano tutte fare riferimento a C++ 03.
Grazie. Questo è quello che pensavo. Avevo bisogno di qualcuno per verificare che non mi mancasse qualcosa. – jakar