分享方式:


編譯器限制

C++ 標準會建議各種語言的建構限制。 以下是Microsoft C++編譯程式未實作建議限制的情況清單。 第一個數位是在 ISO C++11 標準中建立的限制(INCITS/ISO/IEC 14882-2011[2012],附錄 B),第二個數位是Microsoft C++編譯程式所實作的限制:

  • 複合語句、反覆專案控件結構和選取控件結構的巢狀層級 - C++標準:256、Microsoft C++ 編譯程式:取決於巢狀語句的組合,但通常介於 100 和 110 之間。

  • 一個巨集定義中的參數 - C++標準:256、Microsoft使用 :127 或使用 /Zc:preprocessor-:32767 C++編譯程式/Zc:preprocessor

  • 一個巨集調用中的自變數 - C++標準:256、Microsoft使用 :127 或使用 /Zc:preprocessor-:32767 C++編譯程式/Zc:preprocessor

  • 字元字串常值或寬字串常值中的字元 (串連之後) - C++標準:65536、Microsoft C++編譯程式:65535 個單位元組位元元,包括 NULL 終止符,以及 32767 個雙字節字元,包括 NULL 終止符。

  • struct-declaration-list 一中巢狀類別、結構或等位定義的層級 - C++標準:256、Microsoft C++編譯程式:16。

  • 建構函式定義中的成員初始化表達式 - C++標準:6144、Microsoft C++編譯程式:至少 6144。

  • 一個標識符的範圍限定 - C++標準:256、Microsoft C++ 編譯程式:127。

  • 巢狀 extern 規格 - C++ 標準:1024、Microsoft C++ 編譯器:9(不包括在全域範圍內的隱含 extern 規格;若計入全域範圍內的隱含 extern 規格則為 10)。

  • 範本宣告中的範本自變數 - C++標準:1024、Microsoft C++ 編譯程式:2046。

另請參閱

非標準行為