/Zc:forScope (Vynutit dodržování standardu pro obor cyklu for)

Používá se k implementaci standardního chování jazyka C++ pro smyčky s rozšířeními Microsoftu (/Ze).

Syntaxe

/Zc:forScope[-]

Poznámky

Standardním chováním je nechat for inicializátor smyčky po smyčce for mimo rozsah. V části /Zc:forScope- a /Ze zůstane inicializátor smyčky v oboru, for dokud místní obor nekončí.

Možnost /Zc:forScope je ve výchozím nastavení zapnutá. /Zc:forScope není ovlivněn při zadání parametru /permissive- .

Možnost /Zc:forScope- je zastaralá a bude odebrána v budoucí verzi. Použití / Zc:forScope- generuje upozornění na vyřazení D9035.

Následující kód se zkompiluje v /Ze , ale ne v / Za:

// zc_forScope.cpp
// compile by using: cl /Zc:forScope- /Za zc_forScope.cpp
// C2065, D9035 expected
int main() {
    // Compile by using cl /Zc:forScope- zc_forScope.cpp
    // to compile this non-standard code as-is.
    // Uncomment the following line to resolve C2065 for /Za.
    // 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-, vygeneruje se upozornění C4288 (ve výchozím nastavení vypnuto), pokud je proměnná v oboru kvůli deklaraci, která byla provedena v předchozím oboru. Chcete-li to předvést, odeberte // znaky v ukázkovém kódu deklarovat int i.

Chování za běhu parametru /Zc:forScope můžete upravit pomocí direktivy pragma.

Pokud použijete /Zc:forScope- v projektu, který má existující soubor .pch, vygeneruje se upozornění /Zc:forScope- a kompilace pokračuje pomocí existujících souborů .pch. Pokud chcete vygenerovat nový soubor .pch, použijte /Yc (vytvořit předkompilovaný hlavičkový soubor).

Další informace o problémech s shodami v jazyce Visual C++ naleznete v tématu Nestandardní chování.

Nastavení tohoto parametru kompilátoru ve vývojovém prostředí Visual Studio

  1. Otevřete dialogové okno Stránky vlastností projektu. Podrobnosti najdete v tématu Nastavení kompilátoru C++ a vlastností sestavení v sadě Visual Studio.

  2. Vyberte stránku vlastností jazyka C/C++>Vlastnosti>konfigurace.

  3. Upravte vynutit shodu ve vlastnosti Rozsah smyčky.

Programové nastavení tohoto parametru kompilátoru

Viz také

/Zc (shoda)
/Za, /Ze (zakázání jazykových rozšíření)