Erro do Compilador C2356
o segmento de inicialização não deve mudar durante a unidade de tradução
Causas possíveis::
#pragma init_seg
precedido pelo código de inicialização do segmento#pragma init_seg
precedido por outro#pragma init_seg
Para resolver, transfira o código de inicialização do segmento para o início do módulo. Se várias áreas precisarem ser inicializadas, transfira-as para módulos separados.
A amostra a seguir gera o erro C2356:
// C2356.cpp
#pragma warning(disable : 4075)
int __cdecl myexit(void (__cdecl *)());
int __cdecl myexit2(void (__cdecl *)());
#pragma init_seg(".mine$m",myexit)
#pragma init_seg(".mine$m",myexit2) // C2356