/Zc:externConstexpr
(啟用 extern constexpr 變數)
編譯 /Zc:externConstexpr
程式選項會告知編譯器符合 C++ 標準,並允許變數的外部 constexpr
連結。 根據預設,Visual Studio 一律會提供變數內部連結,即使您指定 extern
關鍵字也一 constexpr
樣。
語法
/Zc:externConstexpr
[-
]
備註
編譯 /Zc:externConstexpr
程式選項會使編譯器將外部連結套用至使用 extern constexpr
宣告的變數。
在舊版的 Visual Studio 中,根據預設或指定 , /Zc:externConstexpr-
即使 extern
使用 關鍵字,Visual Studio 仍會將內部連結套用至 constexpr
變數。 此選項 /Zc:externConstexpr
可從 Visual Studio 2017 Update 15.6 開始提供。 和 預設為關閉。
自 Visual Studio 2022 Update 17.6 起, /permissive-
此選項會同時啟用 /Zc:externConstexpr
和 /Zc:lambda
。 在舊版中, /permissive-
未啟用任一版本。
如果標頭檔包含宣告的 extern constexpr
變數,則必須標記 __declspec(selectany)
它,才能將重複宣告合併至連結二進位檔中的單一實例。 否則,您可能會看到連結器錯誤,例如,LNK2005,以違反單一定義規則。
在 Visual Studio 中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。
將 或
/Zc:externConstexpr-
新增/Zc:externConstexpr
至 [ 其他選項: ] 窗格。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應