读书人

不知如何出来的错误内存读写的时候发

发布时间: 2013-03-01 18:33:02 作者: rapoo

求一个不知怎么出来的异常,内存读写的时候发生访问冲突
程序中有这么一句话,

 msaGroup[i].Left(msaGroup[i].GetLength() - 3)  ;  //此时 i = 0;


我调试的时候,在即时窗口 分别输入,
msaGroup.GetAt(0)
  msaGroup.GetAt(0).GetLength 
还有
msaGroup[0].GetLength() - 3 
, 还有
msaGroup.GetAt(0).Left(8)
这四个语句都没问题, 可是不知道为什么, 把这四个语句 一组合起来,
msaGroup.GetAt(0).Left(msaGroup[0].GetLength() - 3)
就出问题

就会提示下面这句话

 TstCon32.exe 中的 0x10113b85 (ReadPause.ocx) 处最可能的异常: 0xC0000005: 写入位置 0x00000000 时发生访问冲突




真的不知道什么原因。
[解决办法]
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。

[解决办法]
楼主最好说说msaGroup是什么东西,然后再说一下你用到了它的那些成员.

读书人网 >C++

热点推荐