Avviso del compilatore (livello 4) C4221
estensione non standard usata: 'identifier': non può essere inizializzata tramite l'indirizzo della variabile automatica
Con le estensioni Microsoft predefinite (/Ze), è possibile inizializzare un tipo di aggregazione (matrice, struct
o union
) con l'indirizzo di una variabile locale (automatica).
Esempio
// C4221.c
// compile with: /W4
struct S
{
int *i;
};
void func()
{
int j;
struct S s1 = { &j }; // C4221
}
int main()
{
}
Tali inizializzazioni non sono valide in base alla compatibilità ANSI (/Za).