Erro do compilador C2429

'funcionalidade de linguagem' requer a opção de compilação 'opção do compilador'

Observações

A funcionalidade da linguagem requer a opção compilador mostrada na mensagem de erro.

Para definir o padrão da linguagem C++ no Visual Studio:

  1. Abra a caixa de diálogo Páginas de propriedades do seu projeto.
  2. Selecione Propriedades de Configuração>C/C++>Language.
  3. Para C ++ Language Standard, selecione o padrão especificado pela mensagem de erro e depois selecione OK ou Aplicar. Por exemplo, selecione ISO C++17 Standard (/std:c++17) quando o erro especificar /std:c++17.

Para compilações da linha de comando, adicione a opção especificada ao comando cl.

Example

O exemplo seguinte gera C2429: a funcionalidade da linguagem 'nested-namespace-definition' requer a opção do compilador '/std:c++17' quando o compilador usa a predefinição da linguagem C++14. Definições de espaços de nomes aninhados requerem C++17 ou posterior. Para corrigir o erro, compila com a /std:c++17 opção ou mais tarde, ou define cada namespace separadamente.

// 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;
}

Consulte também