码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-10-15 14:36:15      阅读:1029      评论:0      收藏:0      [点我收藏+]

标签:zeromemory   memset   {0}   

今天遇到一个问题,特在此记录,防止以后再次犯同样的错误:

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


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

标签:zeromemory   memset   {0}   

原文地址:http://12073718.blog.51cto.com/12063718/1862116

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!