C++ 有人能找出这是怎么回事吗?我得到链接错误 #包括 使用名称空间std; 外部国际一级; int main() { i=10; cout

C++ 有人能找出这是怎么回事吗?我得到链接错误 #包括 使用名称空间std; 外部国际一级; int main() { i=10; cout,c++,extern,C++,Extern,“extern”告诉编译器我是在另一个编译单元中定义的。它不会为它创建存储,但会在出现错误时在链接时查找它。因此,要么链接到我定义的模块,要么删除“extern”限定符。您似乎忘记了错误。您没有在main中定义它,而是在main中使用它。并且如果你在main中定义一个变量i,它将是两个完全不同的i只能将i称为全局变量。不,你只是给i赋值10,定义是什么,是int还是float@yesraaj:只要我们吹毛求疵:那就是声明而不是定义。事实上,extern int i;将i声明为int很好,没有定义

“extern”告诉编译器我是在另一个编译单元中定义的。它不会为它创建存储,但会在出现错误时在链接时查找它。因此,要么链接到我定义的模块,要么删除“extern”限定符。

您似乎忘记了错误。您没有在main中定义它,而是在main中使用它。并且如果你在main中定义一个变量i,它将是两个完全不同的i只能将i称为全局变量。不,你只是给i赋值10,定义是什么,是int还是float@yesraaj:只要我们吹毛求疵:那就是声明而不是定义。事实上,
extern int i;
将i声明为int很好,没有定义实际变量。(提示:定义告诉编译器/链接器为变量物理分配空间,该变量(以前)是用特定类型声明的)
#include <iostream>
using namespace std;
extern int i;
int main()
{

   i=10;
 cout<<"the value of i is"<<i<<endl;



}