自動変数 (関数スコープ)
更新 : 2007 年 11 月
関数の内部で宣言した変数は、その関数のスコープでだけ使用できます。
// LNK2019_AV.cpp
// compile with: /c
void test(void);
static int lnktest3 = 3;
int lnktest4 = 4;
int main() {
static int lnktest1 = 1;
int lnktest2 = 2;
test();
}
次に、以下のコードを実行します。
// LNK2019_AV_2.cpp
// compile with: LNK2019_AV.cpp
// LNK2019 expected
extern int lnktest1;
extern int lnktest2;
extern int lnktest3;
extern int lnktest4;
void test(void) {
int i = 0;
i = lnktest1;
i = lnktest2;
i = lnktest3;
i = lnktest4; // OK
}