编译器错误 C2093

“variable1”:不能使用自动变量“variable2”的地址来初始化

在使用 /Za 编译时,程序尝试了使用自动变量的地址来作为初始化表达式。

下面的示例生成 C2093:

// C2093.c
// compile with: /Za /c
void func() {
   int li;   // an implicit auto variable
   int * s[]= { &li };   // C2093 address is not a constant

   // OK
   static int li2;
   int * s2[]= { &li2 };
}