Udostępnij za pośrednictwem


Limity kompilatora

C++ standard jest zalecane limity dla różnych konstrukcje języka.Poniżej znajduje się lista przypadków, w których kompilator Visual C++ nie implementuje zalecane limity.Pierwsza liczba jest limit zostanie nawiązane w ISO C++ 11 standard (INCITS/ISO/IEC 14882 2011 [2012, załącznika B) i drugą liczbę limitu implementowana przez program Visual C++:

  • Poziomów zagnieżdżenia złożone instrukcje, struktur sterujących iteracji i wybór sterujących [C++ standard: 256] (kompilatora Visual C++: zależy od kombinacji stwierdzeń, które są zagnieżdżone, ale zwykle od 100 do 110).

  • Parametry w definicji jednego makra [C++ standard: 256] (kompilatora Visual C++: 127).

  • Argumenty wywołania pojedynczego makra [C++ standard: 256] (kompilatora Visual C++ 127).

  • Znaki w znaku ciągu literałem ciągu literału lub całego (po łączenie) [C++ standard: 65536] (kompilatora Visual C++: 65535 znaków pojedynczych bajtów, w tym null terminatora i 32767 znaków dwubajtowych, w tym null terminatora).

  • Poziomów zagnieżdżonych klasy, struktury lub union definicji w pojedynczym struct-declaration-list [C++ standard: 256] (kompilatora Visual C++: 16).

  • Inicjatory elementu członkowskiego w definicji konstruktora [C++ standard: 6144] (kompilatora Visual C++: co najmniej 6144).

  • Zakres kwalifikacji jeden identyfikator [C++ standard: 256] (kompilatora Visual C++: 127).

  • Zagnieżdżone extern specyfikacje [C++ standard: 1024] (kompilatora Visual C++: 9 (pominięciem niejawne extern specyfikacji w zakresie globalnym lub 10, jeśli niejawne liczenia extern specyfikacji w zakresie globalnym.).

  • Argumenty szablonu w deklaracji szablonu [C++ standard: 1024] (kompilatora Visual C++: 2046).

Zobacz też

Informacje

Niestandardowe zachowanie