有未经处理的异常: 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

无法在 C# 中捕获 0xC0000005 异常