我创建了一个名为 extern 的变量x
,并且该变量x
在任何其他文件中都不存在,因此,链接器应该给我一个错误。如果我只声明 extern 变量 ( extern int x;
) 而没有实际使用该变量,它不会给我任何错误,但是当我使用该变量时,它会给我一个错误。为什么我只放声明时链接器不给我一个错误?
无错误:
#include <iostream>
extern int x;
int main() {
}
给我错误:
#include <iostream>
extern int x;
int main() {
std::cout << x << std::endl;
}