Kompilatorfel C2356

initieringssegmentet får inte ändras under översättningsenheten

Anmärkningar

Möjliga orsaker:

  • #pragma init_seg föregås av segmentinitieringskod

  • #pragma init_seg föregås av en annan #pragma init_seg

Lös problemet genom att flytta initieringskoden för segmentet till början av modulen. Om flera områden måste initieras flyttar du dem till separata moduler.

Example

I följande exempel genereras 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