/Zc:forScope (życie zgodność w zakresie pętli)
Używane do implementowania standard C++ zachowanie dla pętle za pomocą rozszerzeń Microsoft (/Ze)./Zc:forScopejest domyślnie włączone.
/Zc:forScope[-]
Uwagi
Standardowe zachowanie jest umożliwienie for inicjator pętli wykracza poza zakresem po for pętli.W obszarze / Za, /Ze (język wyłączyć rozszerzenia), for inicjator pętli pozostaje w zakresie, dopóki nie zakończy się zakres lokalny.
Poniższy kod zostanie skompilowany pod /Ze , ale nie w /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
}
Jeśli korzystasz z /Zc:forScope-, zostanie wyświetlone ostrzeżenie (domyślnie wyłączony) Jeśli zmienna jest w zasięgu z powodu deklaracji, że dokonano w poprzednim zakresu.Aby to wykazać, Usuń // znaków w kodzie powyżej, aby zadeklarować int i.
Można zmodyfikować zachowanie run-time /Zc:forScope z conform pragma.
Jeśli korzystasz z /Zc:forScope- w projekcie z istniejącego pliku .pch, /Zc:forScope- jest ignorowany (ostrzeżenie) i kompilacja nadal z istniejącymi plikami .pch.Jeśli chcesz, aby nowy plik .pch generowane, użyj /Yc (Tworzenie wstępnie skompilowanym pliku nagłówka).
Aby uzyskać więcej informacji dotyczących problemów zgodność z programem Visual C++, zobacz Zgodność i problemy ze zgodnością w programie Visual C++.
Aby ustawić tę opcję kompilatora w środowisku projektowym programu Visual Studio
Otwórz projekt Stron właściwości okno dialogowe.Aby uzyskać szczegółowe informacje, zobacz Modyfikowanie ustawień projektu.
Kliknij przycisk C i C++ folder.
Kliknij przycisk języka stronę właściwości.
Modyfikowanie Życie zgodność w zakresie pętli dla właściwości.