首頁  >  文章  >  後端開發  >  儘管支援 C 11,為什麼 __cplusplus 在 Visual Studio 2012 中定義為 199711L?

儘管支援 C 11,為什麼 __cplusplus 在 Visual Studio 2012 中定義為 199711L?

Barbara Streisand
Barbara Streisand原創
2024-11-04 18:51:02208瀏覽

Why is __cplusplus defined as 199711L in Visual Studio 2012 despite C   11 support?

Visual Studio 2012 中的__cplusplus

在Visual Studio 2012 中,一些開發人員注意到__cplus plus 119 「舊」 C 標準,儘管VS 2012 包含C 11 支援。

背景

__cplusplus 宏是一個預處理器宏,它提供支援的 C 標準版本視覺工作室。值 199711L 對應於 C 98 標準,而 201103L 表示支持 C 11。

Issue

在 Visual Studio 2012 中,即使包含 C 11 標頭, __cplusplus 仍然被錯誤地定義為 199711L。對於依賴 __cplusplus 巨集來區分 C 標準版本的程式碼來說,這可能會出現問題。

解決方案

該問題已報告給 Microsoft 進行審核,並出現在標題“預定義宏 __cplusplus 的值仍然是 199711L。”

以上是儘管支援 C 11,為什麼 __cplusplus 在 Visual Studio 2012 中定義為 199711L?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn