Teilen über


Compilerfehler C2356

Initialisierungssegment darf während der Übersetzungseinheit nicht geändert werden.

Bemerkungen

Mögliche Ursachen:

  • #pragma init_seg vorangestellter Segmentinitialisierungscode

  • #pragma init_seg vorangestellt von einer anderen #pragma init_seg

Zum Auflösen verschieben Sie den Segmentinitialisierungscode an den Anfang des Moduls. Wenn mehrere Bereiche initialisiert werden müssen, verschieben Sie sie in separate Module.

Example

Im folgenden Beispiel wird C2356 generiert:

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