Errore del compilatore C2429

'language feature' richiede il flag del compilatore 'compiler option'

Osservazioni:

La funzionalità del linguaggio richiede l'opzione del compilatore visualizzata nel messaggio di errore.

Per impostare lo standard del linguaggio C++ in Visual Studio:

  1. Apri la finestra di dialogo Pagine delle proprietà per il tuo progetto.
  2. Selezionare Proprietà >di configurazioneC/C++>Language.
  3. Per C++ Language Standard selezionare lo standard specificato dal messaggio di errore e quindi selezionare OK o Applica. Ad esempio, selezionare ISO C++17 Standard (/std:c++17) quando l'errore specifica /std:c++17.

Per le compilazioni da riga di comando, aggiungere l'opzione specificata al comando cl.

Example

L'esempio seguente genera l'errore C2429: la funzionalità del linguaggio 'nested-namespace-definition' richiede il flag del compilatore '/std:c++17' quando il compilatore usa lo standard del linguaggio C++14 predefinito. Le definizioni annidate di namespace richiedono C++17 o versione successiva. Per correggere l'errore, compilare con l'opzione /std:c++17 o una successiva, oppure definire separatamente ogni namespace.

// C2429.cpp
namespace a::b { int i; } // C2429 when the compiler uses C++14.
                          // Use /std:c++17 or later, or define each namespace as follows:
                          // namespace a { namespace b { int i; }}

int main() {
    a::b::i = 2;
}

Vedere anche