conform
pragma
Específico do C++
Especifica o comportamento em tempo de execução da opção do compilador /Zc:forScope
.
Sintaxe
#pragma conform(
nome [ ] [,
{off
|on
} ] [ [ { |,
pop
push
} ] [,
identificador [,
{off
|on
} ] ] ] ], show
)
Parâmetros
name
Especifica o nome da opção de compilador a ser modificada. O único name válido é forScope
.
show
(Opcional) Faz com que a configuração atual de name (true ou false) seja exibida por meio de uma mensagem de aviso durante a compilação. Por exemplo, #pragma conform(forScope, show)
.
on
, off
(Opcional) Definir name como on
habilita a opção do compilador /Zc:forScope. O padrão é off
.
push
(Opcional) Envia o valor atual de name por push para a pilha interna do compilador. Se especificar identifier, você poderá especificar que o valor on
ou off
de name seja enviado por push para a pilha. Por exemplo, #pragma conform(forScope, push, myname, on)
.
pop
(Opcional) Define o valor de name como o valor na parte superior da pilha interna do compilador e depois remove o item mais recente da pilha. Se o identificador for especificado com pop
, a pilha terá novamente o item mais recente removido até que seja encontrado o registro com identifier, o qual também será removido; o valor atual de nameno próximo registro na pilha se tornará o novo valor de name. Se você especificar pop
com um identifier que não esteja em um registro na pilha, o pop
será ignorado.
identificador
(Opcional) Pode ser incluído com um comando push
ou pop
. Se identifier for usado, um especificador on
ou off
também poderá ser usado.
Exemplo
// pragma_directive_conform.cpp
// compile with: /W1
// C4811 expected
#pragma conform(forScope, show)
#pragma conform(forScope, push, x, on)
#pragma conform(forScope, push, x1, off)
#pragma conform(forScope, push, x2, off)
#pragma conform(forScope, push, x3, off)
#pragma conform(forScope, show)
#pragma conform(forScope, pop, x1)
#pragma conform(forScope, show)
int main() {}