Kompilatorfel C2429

"språkfunktion" kräver kompilatorflaggans kompilatoralternativ

Anmärkningar

Språkfunktionen kräver det kompilatoralternativ som visas i felmeddelandet.

Så här anger du språkstandarden C++ i Visual Studio:

  1. Öppna dialogrutan Egenskapssidor för projektet.
  2. Välj Konfigurationsegenskaper>C/C++>Språk.
  3. För C++ Language Standard väljer du den standard som anges i felmeddelandet och väljer sedan OK eller Använd. Välj till exempel ISO C++17 Standard (/std:c++17) när felet anger /std:c++17.

För kommandoradsbyggen lägger du till det angivna alternativet till kommandot cl.

Example

I följande exempel genereras C2429: språkfunktionen "nested-namespace-definition" kräver kompilatorflaggan "/std:c++17" när kompilatorn använder standardspråkstandarden C++14. Kapslade namnområdesdefinitioner kräver C++17 eller senare. Kompilera med /std:c++17 alternativet eller senare för att åtgärda felet eller definiera varje namnområde separat.

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

Se även