VSmy.exe 中的 0x00585436 处未处理的异常: 0xC0000005: 读取位置 0x000000ec 时发生访问冲突

2025-03-07 01:57:45
推荐回答(1个)
回答1:

其实你自己都发现问题了:就是m_pDev没有分配空间,是个无效的指针。

DEBUG时,在if(m_pDev)前,这个m_pDev可能就有值,所以不会执行下一句(new),所以其实你的m_pDev还是个无效的指针,所以我建议在构造函数中改成这样

m_pDev = NULL;

if( !m_pDev )
{
m_pDev=new cltVsDev();

}

在你调用指针的地方最好也是判断下你的指针是否有效:if( m_pDev ) 这样再来使用该指针就不会出错了。或者在使用前使用ASSERT( m_pDev != NULL );判断指针是否有效。