コンパイラの警告 (レベル 4) C4221
非標準の拡張機能を使用: 'identifier': 自動変数のアドレスを使った初期化はできません
既定の Microsoft 拡張機能 (/Ze) を使用すると、集計型 (array、struct
、union
) をローカル (自動) 変数のアドレスで初期化できます。
例
// C4221.c
// compile with: /W4
struct S
{
int *i;
};
void func()
{
int j;
struct S s1 = { &j }; // C4221
}
int main()
{
}
このような初期化は、ANSI 互換性 (/Za) では無効です。