Teilen über


Compilerfehler C2429

Sprachfeature“ erfordert Compilerflag „compiler option

Bemerkungen

Für das Sprachfeature ist eine bestimmte Compileroption für die Unterstützung erforderlich.

Example

Der Fehler C2429: Das Sprachfeature "nested-namespace-definition" erfordert compiler flag "/std:c++17" wird generiert, wenn Sie versuchen, einen zusammengesetzten Namespace zu definieren, einen Namespace, der einen oder mehrere bereichsgeschachtelte Namespacenamen enthält, beginnend in Visual Studio 2015 Update 5. (In Visual Studio 2017, Version 15.3, ist die /std:c++latest Option erforderlich.) Zusammengesetzte Namespacedefinitionen sind in C++ vor C++17 nicht zulässig. Der Compiler unterstützt zusammengesetzte Namespacedefinitionen, wenn die /std:c++17 Compileroption angegeben wird:

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