這是我分配內存的方式。檢測到堆損壞
Expression = new char[MemBlock.length()];
VarArray = new char[Variables.length()];
for (unsigned int i = 0; i < MemBlock.length(); i++)
{
Expression[i] = MemBlock.at(i);
}
Expression[MemBlock.length() + 1] = NULL;
for (unsigned int i = 0; i < Variables.length(); i++)
{
VarArray[i] = Variables.at(i);
}
VarArray[Variables.length() + 1] = NULL;
當我嘗試將其刪除我的錯誤...
Logic::~Logic(){
delete[] VarArray; -> happens on this line.
VarArray = NULL;
delete[] Expression;
Expression = NULL;
}
在整個代碼我不不做出新的陣列任何更改它告訴我,我哈默爾一些currpution
,我不能指出問題,任何幫助將是偉大的。
非常感謝 – 2014-12-01 15:51:46