C++中全局变量的使用问题? 20

文件a.h中定义了一个数据结构:structtag{float**,float**};tagm_tag;文件b.h中用extern声明了一次:externstructta... 文件a.h 中定义了一个数据结构 :struct tag {float **, float ** }; tag m_tag;文件b.h中用extern声明了一次:extern struct tag m_tag;//已经包含了a.h
文件c.cpp: if(recv(socket,(char*)&m_tag,sizeof(m_tag),0)!==SOCKET_ERROR)//通过这个函数给数据结构m_tag赋值了,题外话:recv是UDP通讯中一个接收数据的函数。
问题:如果在c.cpp中给数据结构赋值了,那么在d.cpp中如何引用这个数据结构?因为我需要在d.ccp中得到值。在d.cpp中extern struct tag m_tag声明了一下,发现报 “使用了未定义类型“tag"" 的错误。另外说明的是,c.cpp中又包含了d.h头文件;
展开
 我来答
百度网友fb125b00e
2015-09-29 · TA获得超过128个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:151万
展开全部
你没有给此结构体一个别名 struct tag {float **, float ** } my_tag; my_tag m_tag;

或者是 struct tag {float **, float ** }; struct tag m_tag;

建议用第一种方式,tag 不是类型 ,struct tag 才是
更多追问追答
追问
用你的说的定义了一下,但还是没解决问题
追答
应该是d.h 包含 c.h 

m_tag 在c.cpp 中赋值后,传到d.cpp
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式