错误1错误C2099:初始化程序不是常量

时间:2012-12-12 04:19:00

标签: c

  

可能重复:
  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);

1 个答案:

答案 0 :(得分:0)

因为val是在静态文件级别声明的,所以编译时编译器必须知道它的值。情况并非如此,因为您通过调用getenv(key)对其进行初始化。这是因为全局值放在编译时创建的二进制文件的特殊存储区域中。