中易网

如何在头文件里声明用它相关联的cpp文件里定义的结构体定义的指针。

答案:2  悬赏:40  
解决时间 2021-03-23 07:28
不知道大家是否有看懂。
继续解释:
我写了一个头文件。对应的cpp文件肯定没有问题。(因为不是我写的)。写头文件的目的是为了能够在别的mfc 的cpp文件里用上对应的函数及指针。
头文件想要外扩展,因此内容如下:
extern struct EPHEMERISBLOCK;
extern EPHEMERISBLOCK *m_pGPSEphemeris;
extern int ReadBrodcastEphemeris(CString strEpheNam, int &EphemerisBlockNum);

在我另一个dlg的cpp文件里面。我想要使用中间那个指针以获取结构体内容。但是我发现如果将这个指针写成m_pGPSEphemeris[i]的形式的时候就出现了各种问题。同时还使得那个没有问题的Cpp文件也报错了。不知道如何一起解决这一串相关联的问题。虚心请教大牛。
最佳答案
没有定义类型实体,只是做了类型前向声明,一旦尝试解引用类型的指针,肯定报错。
这种对外接口,如果只前向声明类型,那么外部编译单位,只能通过你的cpp提供的函数来操作相关指针,而外部调用者,只能传递指针来实现操作。
否则,那就需要把类型实际定义,放在头文件中,公布给外部调用者。
Can you understand ?
全部回答
第二个文件如果include了第一个文件,那么第一个文件里面所有的被包含的文件也相当于在第二个文件里面被包含了。所以不用重新包含。 还有,你说那中情况是不会重复的。 一般情况下。文件都是这么写,无论你怎么弄都不会重复了 #ifndef __a_h__//这个宏一般就是你的文件名.变成下划线,前后各加两个下划线 #define __a_h__ 你要写的代码的内容 #endif 你这样写 无论你怎么包含这个文件。都不会出现重定义的情况。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
牧场物语双子村好感度数值化金手指怎么用
在系统之家下载的深度win7系统,不会安装呀,
什么东西素颜如雪
医用脱脂棉被我吃下去怎么办
德生 BCL-2000和德生 R-9700DX
请教:先科电磁炉XK-Z18A插电源后无任何反应
南昌新华电脑学校好不好
坐月子可以吃无花果煮稀饭吗
我想开一家懒人用品实体店在哪里进货怎样开
2015年盐城事业单位招聘面试时间是什么时候呢
徐州海云配电脑哪家好
不赡养老人的子女可以分得老人退休后死亡抚恤
JL478QEE 发动机哪儿产的
亚冠联赛资格 这个3+1是什么意思?
福州左海公园海底世界还有表演水上芭蕾吗
推荐资讯
学生考试成绩不好学校扣除老师基本工资要向哪
苏州工业园区养狗的多么?有好点的宠物店吗?
普洱生茶能喝吗?
药片上标有英文字母yst的是什么药品
现在上海大众汽车公司还招聘普工或者操作工吗
XBOX360能用移动硬盘游戏吗?
我在想郑州小学附近办一个午托班
吃了很多虾后,浑身刺痛怎么回事
开一家小型盆栽,水培花卉店要多少钱?
什么是中小企业经营管理专业
不要啊不要啊舔深点 上课时他把我的腿弄开
一个女孩给一个男孩发她嘴唇的自拍
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?