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头文件; 展开
文件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头文件; 展开
1个回答
展开全部
你没有给此结构体一个别名 struct tag {float **, float ** } my_tag; my_tag m_tag;
或者是 struct tag {float **, float ** }; struct tag m_tag;
建议用第一种方式,tag 不是类型 ,struct tag 才是
或者是 struct tag {float **, float ** }; struct tag m_tag;
建议用第一种方式,tag 不是类型 ,struct tag 才是
更多追问追答
追问
用你的说的定义了一下,但还是没解决问题
追答
应该是d.h 包含 c.h
m_tag 在c.cpp 中赋值后,传到d.cpp
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询