不同文件怎么访问 一个 const变量 ?

peter9606 2004-06-16 03:17:11
我遇到了如下的问题:
在a.cpp中:
int a = 100 ;
const int b = 1000 ;
在b.cpp中:

extern int a ;
extern const int b ;
void main(){
printf("\n%d\n",a);
printf("\n%d\n",b);
}
联接的时候出现了下面的错误:
说b没有找到
...全文
224 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
peter9606 2004-06-18
  • 打赏
  • 举报
回复
在2.cpp中:

extern int a ;
extern const int b ;----〉换成 extern int b ; 一样不行
void main(){
printf("\n%d\n",a);
printf("\n%d\n",b);
}
peter9606 2004-06-18
  • 打赏
  • 举报
回复
怎么可以的?
在1.cpp中:

int a = 100 ;
const int b = 1000 ;

在2.cpp中:

extern int a ;
extern const int b ;
void main(){
printf("\n%d\n",a);
printf("\n%d\n",b);
}
联接的时候出现了下面的错误:
说b没有找到

你能通过联接???在什么环境下呢?我在 vc6下

微星1234 2004-06-18
  • 打赏
  • 举报
回复
我试过了, 可以啊,
只要两个文件同属于一个工程就行的
peter9606 2004-06-18
  • 打赏
  • 举报
回复
这算不算是一个 缺陷 ?
peter9606 2004-06-18
  • 打赏
  • 举报
回复
也就是说不可以引用另一个文件中定义的const变量了?
Loeb 2004-06-17
  • 打赏
  • 举报
回复
理论上是没有错误,我运行了。
不知道楼主怎么个情况
qwertasdfg123 2004-06-17
  • 打赏
  • 举报
回复
To why_no(程序猿)
我试过,不行。
包含含有变量的头文件。
xiao78xy 2004-06-17
  • 打赏
  • 举报
回复
好像是不可以
换个方法,将const 放到.h文件中包含,这个是可以的,凑合着用把.
why_no 2004-06-17
  • 打赏
  • 举报
回复
gcc a.cpp b.cpp
楼主要这样的
peter9606 2004-06-17
  • 打赏
  • 举报
回复
To Loeb(觉醒吧,道德!)
请问你运行这个程序了?我怎么没有联接通过?说找不到b的定义在b.cpp中。

我的编译环境是vc6.0
alever513 2004-06-16
  • 打赏
  • 举报
回复
哎,这个错误很多人都会忽略:
static const int b;
qwertasdfg123 2004-06-16
  • 打赏
  • 举报
回复
一个const必须初始化。
extern const int b // b没有初始化。
peter9606 2004-06-16
  • 打赏
  • 举报
回复
这个 还不详细?
这两个文件就是这样的
编译可以通过
但是联接不行。。
请问是怎么回事
Loeb 2004-06-16
  • 打赏
  • 举报
回复
描述的太不详细了。
peter9606 2004-06-16
  • 打赏
  • 举报
回复
难道没有人会么?

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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