Delen via


Compilerfout C2356

initialisatiesegment mag niet worden gewijzigd tijdens de vertaaleenheid

Opmerkingen

Mogelijke oorzaken:

  • #pragma init_seg voorafgegaan door segment initialisatiecode

  • #pragma init_seg voorafgegaan door een andere #pragma init_seg

U kunt dit oplossen door de initialisatiecode van het segment naar het begin van de module te verplaatsen. Als meerdere gebieden moeten worden geïnitialiseerd, verplaatst u deze naar afzonderlijke modules.

Example

In het volgende voorbeeld wordt C2356 gegenereerd:

// 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