Partilhar via


Erro do compilador C2429

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

Observações

O recurso de idioma requer uma opção de compilador específica para suporte.

Example

O erro C2429: o recurso de linguagem 'nested-namespace-definition' requer o sinalizador do compilador '/std:c++17' é gerado se você tentar definir um namespace composto, um namespace que contém um ou mais nomes de namespace aninhados no escopo, a partir da Atualização 5 do Visual Studio 2015. (No Visual Studio 2017 versão 15.3, é necessário o uso da /std:c++latest opção.) As definições de espaços de nomes compostos não são permitidas em C++ antes de C++17. O compilador suporta definições de namespace composto quando a opção do /std:c++17 compilador é especificada:

// C2429a.cpp
namespace a::b { int i; } // C2429 starting in Visual Studio 2015 Update 3.
                          // Use /std:c++17 to fix, or do this:
// namespace a { namespace b { int i; }}

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