Sdílet prostřednictvím


Chyba kompilátoru C2356

inicializační segment nesmí během jednotky překladu měnit.

Poznámky

Možné příčiny:

  • #pragma init_seg před kódem inicializace segmentu

  • #pragma init_seg před jiným uživatelem #pragma init_seg

Pokud chcete tento problém vyřešit, přesuňte inicializační kód segmentu na začátek modulu. Pokud je potřeba inicializovat více oblastí, přesuňte je do samostatných modulů.

Example

Následující příklad vygeneruje 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