extern用法

假如我在main中声明了一个int a;而在另一个函数(假设为f)也要用到这个a,我在f中这样写extern a;显示错误,为什么?extern怎样用?还有一个问题是不是有一个*.h就有一个*.cpp如果有在哪能找到?谢谢

extern 都是对全局变量来说的,你既然将a(int)已经定义到了main函数中了,也就是说:a 的作用域就是main了,不然作用域不久不起作用了吗
如果你要将main中的那个int a用到f中,那是不可以的,但是你可以讲a(int)声明(定义)为全局变量,然后用extern就可以了(如果f和main不在一个.cpp中)
至于extern的具体用法,我曾经回答过这个问题,而且答案非常详细,http://zhidao.baidu.com/question/96882132.html
(snpsprcsac)你可以看看!
.h和.cpp是“独立”的,但有不是完全独立的,.h中用extern就可以用.cpp中定义的变量(常量)了,但翻过了不行(我在extern中也说到了这个问题)还有就是,
一般情况下,如果有程序中有类的话,类的定义在*.h中,对应的就有类的实现在*.cpp(名字一样)中!
你最后一个问题,问的不是很清楚,不知对不对的上!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-19
声明该变量来自外部文件,不需要在此定义
相似回答