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

Usado para implementar o comportamento padrão do C++ para O de instrução loops de com (extensões) Microsoft/ Za, /Ze (linguagem desabilitar extensões)). /Zc:forScope é ativado por padrão.

/Zc:forScope[-]

Comentários

Comportamento padrão é permitir que um for inicializador do loop vá fora do escopo após a for loop. Em / Za, /Ze (linguagem desabilitar extensões), o for inicializador do loop permanece no escopo até que o escopo local termina.

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 estiver 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 do time de execução de /Zc:forScope com o conform pragma.

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

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

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

  1. em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte:Modificando Configurações do Projeto.

  2. clicar no C/C++ pasta.

  3. clicar no linguagem página de propriedades.

  4. Modificar o Forçar conformidade para o escopo de looppropriedade .

Para conjunto esta opção do compilador por meio de programação

Consulte também

Referência

/Zc (conformidade)

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