读书人

extern的几道题目解决办法

发布时间: 2012-06-10 14:03:15 作者: rapoo

extern的几道题目

C/C++ code
关于extern的几道题目题目1:为什么变量i编译错,请指出以下解释有什么不妥之处:对于extern声明的全局变量,声明之后,只会在整个exe中保留一份,a.cpp包含了a.h,即告诉了 a模块变量i是来自外部模块。 同理:在main模块中,变量i告诉了main模块,变量i来自外部模块。 对于函数fun也是同样解释。代码:a.hextern int i;extern void fun();a.cpp#include "stdafx.h"#include "a.h"void fun(){    i++;}main.cppint main(){    extern void fun();    extern int i;    i=2;    fun();    return 0;}题目2:把a.h 中的 extern int i; 改成:int i, 为什么编译没有错误。请指出原因。 




[解决办法]
代码中i一直没定义,因为extern int i只是告诉编译器在某个地方定义i,并不定义,则编译器会去找i的定义。。。。但却找不到。。。因为你没定义。怎么可能找到。。。。所以编译出错。。。

读书人网 >C++

热点推荐