次の方法で共有


コンパイラの制限

C++ 標準は、さまざまな言語構成体の制限を勧告しています。 以下は、Visual C++ コンパイラが推奨される制限を実装しない場合のリストです。 最初の数字は ISO C++ 11 標準 (INCITS/ISO/IEC 14882-2011[2012], Annex B) で規定されている制限であり、2 番目の数字は Visual C++ で実装されている制限です。

  • 複合ステートメント、イテレーション制御構造、および選択制御構造の入れ子レベル [C++ 標準: 256] (Visual C++ コンパイラ: 入れ子になっているステートメントの組み合わせに依存しますが、一般的には 100 から 110 の間)。

  • 1 つのマクロ定義内のパラメーター [C++ 標準: 256] (Visual C++ コンパイラ: 127)。

  • 1 つのマクロ呼び出しの引数 [C++ 標準: 256] (Visual C++ コンパイラ: 127)。

  • 文字列リテラルまたはワイド文字列リテラル (連結後) の文字数 [C++ 標準: 65536] (Visual C++ コンパイラ: null 終端文字を含む 1 バイト文字の場合は 65535、 null 終端文字を含む 2 バイト文字の場合は 32767)。

  • 単一の struct-declaration-list で入れ子になったクラス、構造体、または共用体の定義のレベル [C++ 標準: 256] (Visual C++ コンパイラ: 16)。

  • コンストラクター定義内のメンバー初期化子 [C++ 標準: 6144] (Visual C++ コンパイラ: 最低 6144)。

  • 1 つの識別子のスコープ修飾 [C++ 標準: 256] (Visual C++ コンパイラ: 127)。

  • 入れ子になった extern 指定 [C++ 標準: 1024] (Visual C++ コンパイラ: 9 (グローバル スコープの暗黙的な extern 指定をカウントしません。グローバル スコープの暗黙的な extern 指定をカウントする場合は 10)。

  • テンプレート宣言内のテンプレート引数 [C++ 標準: 1024] (Visual C++ コンパイラ: 2046)。

参照

関連項目

非標準動作