/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
em aberto propriedade Páginas caixa de diálogo.Para obter detalhes, consulte:Modificando Configurações do Projeto.
clicar no C/C++ pasta.
clicar no linguagem página de propriedades.
Modificar o Forçar conformidade para o escopo de looppropriedade .