/Zc:forScope (platnost shodu v oboru smyčky)
Slouží k implementaci standard C++ chování pro pro smyčky s rozšířeními Microsoft (/Ze)./Zc:forScopeje ve výchozím nastavení.
/Zc:forScope[-]
Poznámky
Standardní chování je nechat for smyčky inicializátor dostanou mimo rozsah, po for smyčky.Pod / Za, /Ze (jazyk zakázat rozšíření), for smyčky inicializátor zůstane v oboru, dokud místní rozsah končí.
Následující kód bude zkompilován pod /Ze , ale není v /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
}
Používáte-li /Zc:forScope-, obdržíte upozornění (ve výchozím nastavení vypnuto) Pokud je proměnná z důvodu prohlášení, která byla vytvořena v předchozí oboru v oboru.Odebrat tuto // znaků nad kódu deklarovat int i.
Můžete změnit chování spuštění /Zc:forScope se conform pragma.
Používáte-li /Zc:forScope- v projektu s existující soubor .pch /Zc:forScope- (s upozorněním) ignorován a kompilace pokračuje s existujícími soubory .pch.Pokud chcete generovat nový soubor .pch, /Yc (vytvořit soubor předkompilovaný záhlaví).
Další informace o problémech shodu s Visual C++ Slučitelnost a soulad problémy v aplikaci Visual C++.
Chcete-li nastavit tuto možnost kompilátoru ve vývojovém prostředí Visual Studio
Otevřete dialogové okno projektu Stránky vlastností.Další informace naleznete v tématu Změna nastavení projektu.
Klepněte C/C++ složky.
Klepněte jazyk stránky vlastností.
Změnit Shody v platnost pro smyčku oboru vlastnost.
Programově nastavit tuto volbu kompilátoru
- Viz téma ForceConformanceInForLoopScope.