所以,我以前从未经历过这种情况。通常当我遇到错误时,它总是会触发一个断点。但是,这一次当我构建解决方案并在没有调试的情况下运行它(ctrl+F5)时,它没有给我任何错误并且运行正确。但是当我尝试调试它(F5)时,它给了我这个错误:
HEAP[MyString.exe]: HEAP: Free Heap block 294bd8 modified at 294c00 after it was freed
Windows has triggered a breakpoint in MyString.exe.
This may be due to a corruption of the heap, which indicates a bug in MyString.exe or any of the DLLs it has loaded.
This may also be due to the user pressing F12 while MyString.exe has focus.
The output window may have more diagnostic information.
这个作业是今晚到期的,所以我很感激任何快速的帮助。
我的代码在这里: https ://gist.github.com/anonymous/8d84b21be6d1f4bc18bf
我已将主要问题缩小到 main.cpp 中的第 18 行( c = a + b; )连接成功,但是当它被复制到 c 时,错误消息出现在 MyString 的第 56 行。 cpp ( pData = new char[length + 1]; )。
最重要的是,在我尝试重载运算符>>之前,我对这行代码没有任何问题。为了尝试调试它,我已经废弃了该代码。
再次,任何帮助将不胜感激!