LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 817|回复: 4

能否用extern说明一个对象?

[复制链接]
发表于 2004-12-15 16:19:18 | 显示全部楼层 |阅读模式
想在一个文件中引用另一个文件中创建的对象,我尝试用extern说明,但是编译没有通过。

创建对象时
Buddy_list      buddy_list;

Buddy_list是一个类
然后在另一个文件中

extern   buddy_list;

结果这样:
send.h:6: error: ISO C++ forbids declaration of `buddy_list' with no typesend.h:6: error: ISO C++ forbids declaration of `buddy_list' with no type
发表于 2004-12-15 17:14:32 | 显示全部楼层
  1. extern Buddy_list buddy_list;
复制代码
 楼主| 发表于 2004-12-15 17:22:35 | 显示全部楼层
这样不好用滴,
send.cpp:35: error: syntax error before `;' token
发表于 2004-12-15 17:55:33 | 显示全部楼层
最初由 graydream 发表
这样不好用滴,
send.cpp:35: error: syntax error before `;' token


你需要定义这个类型。基本的类型是可以的:
  1. extern int extern_variable;
复制代码
只是你无法使用 Buddy_list,因为这个类型无法被其他文件使用。一个解决方法是写一个单独的头文件,把 Buddy_list 的定义写进来,然后将这个头文件引用进来,并写 extern Buddy_list buddy_list;
 楼主| 发表于 2004-12-15 20:25:30 | 显示全部楼层
ok,get
thinks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表