Variables automatiques (étendue de fonction)
Une variable déclarée dans une fonction ne peut être utilisée que dans l’étendue de cette fonction.
// 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();
}
Et puis
// 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
}