Udostępnij za pomocą


Błąd kompilatora C2429

Funkcja języka wymaga flagi kompilatora "opcja kompilatora"

Uwagi

Funkcja języka wymaga określonej opcji kompilatora na potrzeby obsługi.

Example

Błąd C2429: funkcja języka "nested-namespace-definition" wymaga flagi kompilatora "/std:c++17" jest generowana w przypadku próby zdefiniowania złożonej przestrzeni nazw, przestrzeni nazw zawierającej co najmniej jedną nazwę zagnieżdżonych przestrzeni nazw, począwszy od programu Visual Studio 2015 Update 5. (W programie Visual Studio 2017 w wersji 15.3 /std:c++latest wymagany jest przełącznik). Definicje przestrzeni nazw złożonych nie są dozwolone w języku C++ przed C++17. Kompilator obsługuje złożone definicje przestrzeni nazw po określeniu opcji kompilatora /std:c++17 :

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