Compartilhar via


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

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 o inicializador do loop ir fora do escopo após a for loop. Em / Za, /Ze (linguagem de desabilitar extensões), o for o inicializador do loop permanece no escopo até as extremidades de escopo local.

O seguinte código será compilado 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 de /Zc:forScope com o conform 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 arquivos existentes do .pch. Se desejar que 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 Compatibility and Compliance Issues in Visual C++.

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

  1. Abra o projeto Property Pages caixa de diálogo. Para obter detalhes, consulte:Modificando Configurações do Projeto.

  2. Clique o C/C++ pasta.

  3. Clique o idioma página de propriedades.

  4. Modificar o Conformidade de força no escopo de Loop para propriedade.

Para definir esta opção de compilador programaticamente

Consulte também

Referência

/ZC (conformidade)

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