Omezení kompilátoru
Standard jazyka C++ doporučuje limity pro různé jazykové konstrukce. Následuje seznam případů, kdy kompilátor jazyka Microsoft C++ neimplementuje doporučené limity. První číslo je limit, který je stanoven ve standardu ISO C++11 (INCITS/ISO/IEC 14882-2011[2012], příloha B) a druhé číslo je limit implementovaný kompilátorem Microsoft C++:
Vnoření úrovní složených příkazů, struktur řízení iterací a struktur řízení výběru – standard C++: 256, kompilátor Jazyk C++: závisí na kombinaci příkazů, které jsou vnořené, ale obecně mezi 100 a 110.
Parametry v jedné definici makra – standard C++: 256, kompilátor Microsoft C++ pomocí
/Zc:preprocessor-
:127 nebo pomocí/Zc:preprocessor
:32767.Argumenty v jednom vyvolání makra – standard C++: 256, kompilátor Microsoft C++ pomocí
/Zc:preprocessor-
:127 nebo :/Zc:preprocessor
32767.Znaky v řetězcovém literálu nebo širokém řetězcovém literálu (po zřetězení) – standard C++: 65536, kompilátor Microsoft C++: 65535 jednobajtové znaky, včetně ukončovacího znaku NULL a 32767 dvoubajtových znaků včetně ukončovacího znaku NULL.
Úrovně vnořených definic tříd, struktur nebo sjednocení v jednom
struct-declaration-list
standardu C++: 256, kompilátor Microsoft C++: 16.Inicializátory členů v definici konstruktoru – standard C++: 6144, kompilátor Jazyk C++: alespoň 6144.
Kvalifikace oboru jednoho identifikátoru – standard C++: 256, kompilátor Microsoft C++: 127.
Vnořené
extern
specifikace – standard C++: 1024, kompilátor Microsoft C++: 9 (nepočítá se implicitníextern
specifikace v globálním oboru nebo 10, pokud spočítáte implicitníextern
specifikaci v globálním oboru.)Argumenty šablony v deklaraci šablony – standard C++: 1024, kompilátor Microsoft C++: 2046.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro