有人可以弄清楚这有什么问题吗?我收到链接错误

lak*_*man 2 c++ extern

#include <iostream>
using namespace std;
extern int i;
int main()
{

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



}
Run Code Online (Sandbox Code Playgroud)

Ama*_*9MF 6

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

  • 你没有在main中定义它,你在main中使用它.即使你在main中定义一个变量i,它也将是2个完全不同的i."extern int i"只能将i称为全局变量. (5认同)