Udostępnij za pośrednictwem


/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

  1. Otwórz projekt Stron właściwości okno dialogowe.Aby uzyskać szczegółowe informacje, zobacz Modyfikowanie ustawień projektu.

  2. Kliknij przycisk C i C++ folder.

  3. Kliknij przycisk języka stronę właściwości.

  4. Modyfikowanie Życie zgodność w zakresie pętli dla właściwości.

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Informacje

/Zc (zgodność)

/ Za, /Ze (język wyłączyć rozszerzenia)