可能重复:
C compiler error - initializer not constant
Definition of global variables using a non constant initializer
我在下面给出了全局定义的2个变量,我得到了C2099错误。我正在使用Visual Studio 2005。
以下是变量:
const char* key = "AZFFProgramFiles";
const char* val = getenv(key);
答案 0 :(得分:0)
因为val
是在静态文件级别声明的,所以编译时编译器必须知道它的值。情况并非如此,因为您通过调用getenv(key)
对其进行初始化。这是因为全局值放在编译时创建的二进制文件的特殊存储区域中。