編譯器錯誤 C2429

'語言功能' 需要編譯器旗標 '編譯器選項'

備註

語言功能需要錯誤訊息中顯示的編譯器選項。

要在 Visual Studio 中設定 C++ 語言標準:

  1. 開啟 屬性頁 對話方塊以進行專案設定。
  2. 選擇 配置屬性>C/C++>Language。
  3. 對於 C++ 語言標準,選擇錯誤訊息所指定的標準,然後選擇 確定 或 套用。 例如,當錯誤指定 時,請選取 /std:c++17。

對於命令列編譯,請在指令中 cl 加入指定的選項。

Example

以下範例產生 C2429:語言功能「nested-namespace-definition」在編譯器使用預設 C++14 語言標準時,需要編譯器旗標 '/std:c++17' 。 巢狀命名空間定義需要 C++17 或更新版本。 若要修正此錯誤,請使用 /std:c++17 或更新版本的選項進行編譯,或分別定義每個命名空間。

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

另請參閱