2

重複の可能性:
C コンパイラ エラー - 初期化子が定数ではありません
非定数初期化子を使用したグローバル変数の定義

以下に示すグローバルに定義された 2 つの変数があり、C2099 エラーが発生します。Visual Studio 2005 を使用しています。

変数は次のとおりです。

const char* key = "AZFFProgramFiles";
const char* val = getenv(key);
4

1 に答える 1

0

は静的ファイル レベルで宣言されているためval、その値はコンパイル時にコンパイラに認識される必要があります。を呼び出して初期化するため、これは当てはまりませんgetenv(key)。これは、コンパイル時に作成されるバイナリ ファイルの特別なストレージ領域にグローバル値が配置されるためです。

于 2012-12-12T04:22:21.263 に答える