Freigeben über


Compilerwarnung (Ebene 4) C4221

nicht standardmäßige Erweiterung verwendet: 'Identifier': kann nicht mithilfe der Adresse der automatischen Variablen initialisiert werden.

Bemerkungen

Mit den Standardmäßigen Microsoft-Erweiterungen (/Ze) können Sie einen Aggregattyp (Array, structoder union) mit der Adresse einer lokalen (automatischen) Variablen initialisieren.

Beispiel

Im folgenden Beispiel wird C4221 generiert:

// C4221.c
// compile with: /W4
struct S
{
   int *i;
};

void func()
{
   int j;
   struct S s1 = { &j };   // C4221
}

int main()
{
}

Solche Initialisierungen sind unter ANSI-Kompatibilität (/Za) ungültig.