有未经处理的异常: 0xC0000005: 读取位置 0xFFFFFFFC 时发生访问冲突
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有未经处理的异常: 0xC0000005: 读取位置 0xFFFFFFFC 时发生访问冲突相关的知识,希望对你有一定的参考价值。
今天遇到一个问题,特在此记录,防止以后再次犯同样的错误:
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 时发生访问冲突的主要内容,如果未能解决你的问题,请参考以下文章
有未经处理的异常: 0xC0000005: 读取位置 0xFFFFFFFC 时发生访问冲突
C0000005: 读取位置 0xCCCCCCCC 时发生访问冲突
Project3.exe 中 0x00C61540 处未处理的异常:0xC0000005:访问冲突读取位置 0x00000003
task2.exe 中 0x001066F6 处未处理的异常:0xC0000005:访问冲突读取位置 0x0000000C [关闭]
C++:XY.exe 中 0x0b9ec715 (XX.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0x00000004