真心奇怪的内存出错,完全不知道为什么~
一运行就出现了这个错误,
点击继续就出现这个:
继续:
再点继续,代码页发生了转跳,停在了图中所示的地方:
还是点继续:
之后再点继续都是上面这幅图了。
前面三张错误都是停在如下图所示的代码页上:
感觉好像是很复杂的代码吗?什么啊,我就是写了一个三维数组的动态内存分配,还是没有任何功能的,单纯是试一下,初学啊。以下就是全部的代码了:
输出窗口显示的内容如下:
“Array.exe”: 已加载“E:\编程\VS2010\VC++2010\Array\Debug\Array.exe”,已加载符号。
“Array.exe”: 已加载“C:\Windows\SysWOW64\ntdll.dll”,Cannot find or open the PDB file
“Array.exe”: 已加载“C:\Windows\SysWOW64\kernel32.dll”,Cannot find or open the PDB file
“Array.exe”: 已加载“C:\Windows\SysWOW64\KernelBase.dll”,Cannot find or open the PDB file
“Array.exe”: 已加载“C:\Windows\SysWOW64\msvcp100d.dll”,已加载符号。
“Array.exe”: 已加载“C:\Windows\SysWOW64\msvcr100d.dll”,已加载符号。
Critical error detected c0000374
Windows 已在 Array.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 Array.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 Array.exe 具有焦点时按下了 F12。
输出窗口可能提供了更多诊断信息。
我真是吐血了,我就是练个手,至于吗??再补充一下,其实昨天就是这样的了,我想着如果单纯是内存的操作出现问题,那么明天再开机内存的东西都没了,再来运行应该没问题了吧,可是还是这样。
[解决办法]
你访问的时候用 pStr[i][j][k] 的形式把.
数组和指针是有微妙的差别的, 三维的数组和三维的指针并不相同.
解释起来也比较麻烦, 先看看这个能看懂不吗 http://blog.adintr.com/43
[解决办法]
又是这样,这个触摸板总是捣乱,这次我用眼镜布把它盖上了。
for(int i=0; i<=5; i++)//改为i<5
{
for(int j=0; j<=2; j++)//改为i<2
{
for(int k=0; k<=3; k++)//改为i<3
[解决办法]
另外还有个错误, 数组的下标是 0 .. n-1,
把你 for 循环中的 <= 改成 <