Jef*_*ica 5
extern int x;
告诉编译器:“我会int x
在其他编译单元中为您提供一个”。请期待在链接时找到它。
所以,你需要另一个文件:
示例8b.cpp
int x = 0;
int y = 0;
int z = 0;
并且您需要链接项目中的两个文件。
但最重要的是:
是什么让你选择把x
,y
并z
为外部摆在首位?
结束下面的讨论:
extern int x;
意思是“某处会有一个 x”
int x;
意思是“请放在x
这里”
undefined reference to x
意思是“我没有找到你想让 x 去的地方”
编译器需要一个地方来放置你的x
. 你没有给它这样的地方,因为extern
专门要求编译器不要放在x
那里。错误是编译器告诉你把它放在x
某个地方。
更多推荐
中不,关键字,文件,在同一个,extern
发布评论