char *配列を削除しますか? char * = new char[length];
delete[] char;
?charポインタ配列を削除する
また、この練習ではstd::string
を使用できません。です。
私はこのエラーを取得しています:ここで
HEAP CORRUPTION DETECTED: after Normal block (#137) 0x00794B50.
CRT detected that the application wrote to memory after end of heap buffer.
は私のコードです:
class myClass
{
char * myString;
...
public:
myClass::myClass(const char * tempStr);
};
myClass::myClass(const char * tempStr)
{
int length = strlen(tempStr);
myString = new char(length + 1); //+1 for null char
strcpy(myString, tempStr);
myString[length] = '\0';
delete[] myString; //error occurs here
}
は今、私が知っている、このコードは完全に非現実的である、しかし、それはまだ私に同じエラーをスローします私たちはこれを解決することができれば解決しようとしています。私が読んだことから、これは問題ないはずですか?私は繰り返し述べますが、この練習ではstd::string
を使用できません。
ああ、私は自分自身が嫌いです。本当にありがとう、それはうまく答えとしてマークします。 – Jace