2010-06-16 37 views
2
#include <iostream> 
using namespace std; 
extern int i; 
int main() 
{ 

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



} 
+5

你似乎已经忘记了错误。 – 2010-06-16 14:45:58

+1

正在做作业吗? – 2010-06-16 16:14:52

回答

6

'extern'告诉编译器我在另一个编译单元中定义。它不会为它创建存储,而是在链接时查找它,当出现错误时。所以要么与我定义的模块链接,要么删除'extern'限定符。

+0

但我在里面定义了它。那是错的吗? – lakshman 2010-06-16 14:48:18

+5

你没有在main中定义它,你在main中使用它。 即使您将主要定义一个变量我,它会是2完全不同我的。 “extern int i”只能将i作为全局变量。 – Patrick 2010-06-16 14:50:20

+1

不,你只是分配我10,定义说我是什么,是一个整数或浮点数 – yesraaj 2010-06-16 14:51:21