自定义的使用

启程电子工作室 2010-10-30 07:29:56
我有两个.cpp文件,分别A.cpp,B.cpp,我在A.h的public里定义了如下一个结构体类型:
typedef struct{
int a;
int b[12];
}Info_T;
Info_T Info; //用刚定义的Info_T数据类型声明一个Info变量,
我要在B.cpp里也使用Info这个变量,于是我在B.h里写上 extern struct Info_T Info;声明这是外部的,
但是编译的时候报错,不通过,提示Undefined structure Info_T(未定义的Info_T结构体)。请问我要在外部使用这个自定义的结构体类型,我该如何写?
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
我被ADS KEIL Builder三个软件搅混了,他们对这种全局变量的定义和使用都有点区别
  • 打赏
  • 举报
回复
感谢天道酬勤和妖哥的回答,妖哥的方法自然可行,貌似在C++Bilder复杂了一点,因为在Builder里直接在其他需要的cpp文件中加个include "A.h"就OK了,而且也不需要在A.h中写上extern Info_T Info;希望zzbinfo以后回答的时候能够详细点。
Metrosexual 2010-11-09
  • 打赏
  • 举报
回复
楼上说的非常的好,顶妖哥
ccrun.com 2010-11-03
  • 打赏
  • 举报
回复
在b.h文件中:
typedef struct{
int a;
int b[12];
}Info_T;
extern Info_T Info;
在b.cpp文件中:
Info_T Info;

然后在其他的单元中,包含b.h,就可以直接使用Info这个结构体变量了。
zzbinfo 2010-11-03
  • 打赏
  • 举报
回复
#include <A.h>
rxjh68 2010-11-03
  • 打赏
  • 举报
回复
在B.cpp里使用A.cpp里的变量,不是这样声明的“于是我在B.h里写上 extern struct Info_T Info;声明这是外部的,”,要把A.h加入到B.cpp中,#include <A.h>

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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