だから、私はこれまでにこれを経験したことがありません。通常、エラーが発生すると、常にブレークポイントがトリガーされます。ただし、今回はソリューションをビルドしてデバッグなしで実行すると (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 = 新しい文字 [長さ + 1]; ).
キッカーは、演算子>> のオーバーロードを試みるまで、このコード行で問題が発生しなかったことです。これをデバッグするために、そのコードを破棄しました。
繰り返しますが、助けていただければ幸いです。