如何发送一个包含着一个链表的结构体对象?
struct MSG_ROOMINFO//房间信息
{
int _RoomID;//房间ID
char _HeadName[20];//房主ID
char _RoomName[20];//房间名
list<MSG_PLAYERINFO> _PlayList;//玩家信息
bool _Start;//游戏是否开始
}
MSG_ROOMINFO的对象我也是用链表来管理
list<MSG_ROOMINFO> roomlist;
使用时
MSG_ROOMINFO mtemp;
..赋值
roomlist.push_back(mtemp);
当我要发送roomlist给客户端时出错
list<MSG_ROOMINFO>::iterator it=roomlist.begin();
for(;it!=roomlist.end();++it)
进入for语句时程序就中断了,估计是结构体里的链表出了问题。但是什么问题却不了解。。希望各位指教一下
本来我是直接用数组的,因为最大玩家数才4个。但因为要考虑中途有玩家离开,然后其他玩家进来。这样的话用数组只能每次都循环4次来检查每一个对象来进行处理。
或者有什么更好的设计模式?
[解决办法]
那只能在发送的时候塞到一个数组里发送了。 其实你也可以把玩家列表单独做成一个消息发送