关于extern的老问题!

yesdo 2004-07-28 08:33:27
最近看到有些帖子,把自己倒搞昏了!
//one.h
one.cpp
two.cpp
three.cpp
four.cpp
//one.cpp
include <iostream.h>
void main()
{
int n=7;
int m=8;
extern double k;

cout<<n<<","<<m<<","<<k<<","<<endl;
}
//two.cpp
include <iostream.h>
void main()
{
int n=6;
extern int m;
double k=7.7;
cout<<n<<","<<m<<","<<k;

}
//three.cpp
include <iostream.h>
void main()
{

extern int n;
extern int m;

cout<<n<<","<<m;

}
//four.cpp

include <iostream.h>
void main()
{

extern int n=9;
extern int m=0;

cout<<n<<","<<m;

}
你们看下。以第一个为标准,以后哪个程序块引发了错误,是第4个吗?

...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjhyn 2004-07-29
  • 打赏
  • 举报
回复
到底你想什么意思,这么不好意思???
yesdo 2004-07-29
  • 打赏
  • 举报
回复
啊,很乱吗?其实就是有这么乱的!定义不一定全定义在一个函数块中的,实际肯定是分开定义,
我这里解释下程序,n,m定义在main中,不好意思,刚发现错了,mian函数每个.cpp中都有,不好意思,我的意思只有第一个是main真的,其他的都是多了的。不要看就是了。
我的意思是这样的,n,m定义在mian中。k定义在one.cpp中。其他就是分别引用他们了。大家再看看,不好意思哦,我的错!!
allen1981813 2004-07-29
  • 打赏
  • 举报
回复
这问题好是好,
但是。。。。碰到的机会不多。。。。
jzhonghua 2004-07-29
  • 打赏
  • 举报
回复
extern什么最好放到头文件中
owl2008 2004-07-29
  • 打赏
  • 举报
回复
这种问题。楼主去了解下名字解析的过程就明白了
zipyngyang 2004-07-29
  • 打赏
  • 举报
回复
extern的用法好像不是这个样子的吧?搞了这么多main函数,烦不烦哦?如果定义在一个系统中,不出错误才怪呢!!

extern的主要是引用其他.c文件中出现的全局变量或外用的函数,在集中的IDE中,你敢使用这么多的main函数么?

还有,声明为extern不能在函数体内部,肯定会有麻烦的!!
kaphoon 2004-07-28
  • 打赏
  • 举报
回复
extern很少用到,你就不用看了吧
放弃也是件好事~
xjp6688 2004-07-28
  • 打赏
  • 举报
回复
感觉很乱
gernal_dn 2004-07-28
  • 打赏
  • 举报
回复
莫名其妙,一个都不对:根本看不出你的全局变量k,n,m在哪里有定义,在哪里?根本没有判断的根据啊!!!

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧