您的位置:首页 > 其它

有未经处理的异常: 0xC0000005: 读取位置 0xFFFFFFFC 时发生访问冲突

2016-10-15 10:00 537 查看
今天遇到一个问题,特在此记录,防止以后再次犯同样的错误:
struct UserInfo
{
CString UserName; //用户昵称
CString IP; //用户IP
SOCKET socket; //用户的套接字
bool operator==(const UserInfo &uInfo) const
{
if (socket == uInfo.socket)
return true;
return false;
}
};
这是我定义的结构体,程序中如此初始化:
ZeroMemory(&sClient, sizeof(sClient));
TRACE(sClient.UserName);
sClient.UserName = uMsg.UserName;
然后Trace的时候就报错“有未经处理的异常: 0xC0000005: 读取位置 0xFFFFFFFC 时发生访问冲突”,调试发现sClient.UserName为NULL
解决方法:使用memset或者{0}进行初始化;对象最好通过构造函数初始化
memset,zeromemory,{0}三者的区别请参考:http://blog.csdn.net/tjunxin/article/details/8540259
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  memset zeromemory
相关文章推荐