Condividi tramite


Errore del compilatore C2356

il segmento di inizializzazione non deve cambiare durante l'unità di conversione

Osservazioni:

Possibili cause:

  • #pragma init_seg preceduto dal codice di inizializzazione del segmento

  • #pragma init_seg preceduto da un altro #pragma init_seg

Per risolvere il problema, spostare il codice di inizializzazione del segmento all'inizio del modulo. Se è necessario inizializzare più aree, spostarle in moduli separati.

Example

L'esempio seguente genera l'errore 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