Compartilhar via


/ZC:forScope (forçar conformidade no escopo de loop for)

Usado para implementar o comportamento padrão do C++ para para loops com extensões do Microsoft (/Ze)./Zc:forScopeé ativado por padrão.

/Zc:forScope[-]

Comentários

O comportamento padrão é permitir que um for inicializador do loop ir fora do escopo após a for loop.Em / Za, /Ze (extensões de linguagem Disable), o for inicializador do loop permanece no escopo até que o escopo local termina.

O código a seguir serão compilados em /Ze , mas não em /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
}

Se você usar /Zc:forScope-, você receberá um aviso (desativado por padrão) se uma variável está no escopo por causa de uma declaração que foi feita em um escopo anterior.Para demonstrar isso, remova o // caracteres no código acima para declarar int i.

Você pode modificar o comportamento de tempo de execução do /Zc:forScope com o está de acordo com pragma.

Se você usar /Zc:forScope- em um projeto com um arquivo existente do .pch, /Zc:forScope- será ignorado (com um aviso) e compilação continua com os arquivos de .pch existentes.Se você quiser um novo arquivo de .pch gerado, use /Yc (criar arquivo de cabeçalho pré-compilado).

Para obter mais informações sobre questões de conformidade com o Visual C++, consulte Compatibilidade e questões de compatibilidade em Visual C++.

Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio

  1. Abra o projeto Páginas de propriedades caixa de diálogo.Para obter detalhes, consulte:Modificando as configurações de projeto.

  2. Clique no C/C++ pasta.

  3. Clique no idioma página de propriedades.

  4. Modificar o Forçar conformidade no escopo de Loop para propriedade.

Para definir essa opção de compilador programaticamente

Consulte também

Referência

/ZC (conformidade)

/ Za, /Ze (extensões de linguagem Disable)