Compilerfout C2429

Voor 'taalfunctie' is de compilervlag 'compileroptie' vereist

Opmerkingen

Voor de taalfunctie is de compileroptie vereist die wordt weergegeven in het foutbericht.

De C++-taalstandaard instellen in Visual Studio:

  1. Open het dialoogvenster Eigenschappenpagina's voor uw project.
  2. Selecteer Configuratie-eigenschappen>C/C++>-taal.
  3. Voor C++ Taalstandaard selecteert u de standaard die is opgegeven door het foutbericht en selecteert u VERVOLGENS OK of Toepassen. Selecteer bijvoorbeeld ISO C++17 Standard (/std:c++17) wanneer de fout aangeeft /std:c++17.

Voor opdrachtregel-builds voegt u de opgegeven optie toe aan de cl opdracht.

Example

In het volgende voorbeeld wordt C2429 gegenereerd: voor taalfunctie 'nested-namespace-definition' is de compilervlag '/std:c++17' vereist wanneer de compiler de standaardtaalstandaard C++14 gebruikt. Voor geneste naamruimtedefinities is C++17 of hoger vereist. Als u de fout wilt oplossen, compileert u met de /std:c++17 optie of later of definieert u elke naamruimte afzonderlijk.

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

Zie ook