/Zc:forScope (Vynutit dodržování standardu pro obor cyklu for)
Slouží k implementaci standard C++ chování pro pro cykly s rozšíření od společnosti Microsoft (/Ze).Parametr /Zc:forScope je standardně zapnutý.
/Zc:forScope[-]
Poznámky
Standardní chování je umožnit for smyčky inicializátoru přejít mimo rozsah po for cyklu.V části /Za, /Ze (Zakázat jazyková rozšíření), for smyčky inicializátoru zůstane v oboru, dokud místního rozsahu ukončí.
Následující kód zkompiluje pod /Ze , ale není v části /Za:
// zc_forScope.cpp
// compile with: /Zc:forScope- /Za
// C2065 expected
int main() {
// Uncomment the following line to resolve.
// int i;
for (int i =0; i < 1; i++)
;
i = 20; // i has already gone out of scope under /Za
}
Pokud použijete /Zc:forScope-, zobrazí se upozornění (ve výchozím nastavení vypnuto) Pokud je proměnná v oboru z důvodu prohlášení, která byla vytvořena v předchozí oboru.Chcete-li tuto odebrat // znaky ve výše uvedeném kódu deklarovat int i.
Můžete upravit chování běhu /Zc:forScope s conform pragma.
Pokud použijete /Zc:forScope- v projektu k existujícímu souboru .pch, /Zc:forScope- je ignorována (s upozorněním) a kompilace pokračuje s existující soubory..Pokud chcete nový soubor .pch generované, použijte /Yc (Vytvořit předkompilovaný hlavičkový soubor).
Další informace o problémech přizpůsobení v jazyku Visual C++ naleznete v tématu Nestandardní chování.
Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno Stránky vlastností svého projektu.Podrobnosti naleznete v tématu Práce s vlastnostmi projektu.
Klikněte na složku C/C++.
Klikněte na tlačítko jazyk na stránce vlastností.
Změnit platnost shody v pro oboru smyčka vlastnost.
Programové nastavení tohoto parametru kompilátoru
- Další informace naleznete v tématu ForceConformanceInForLoopScope.