Следующий код приводит к ошибке с присвоением. Кроме того, сообщение об ошибке указывает, что обнаружено повреждение кучи.Обнаружено повреждение кучи - класс с указателями
class A {
int* a; // dynamic array of ints
A() {};
A(int size) {
a = new int[size];
}
~A() {
delete [] a;
a = nullptr;
}
}
*** in code somewhere ***
int size = 5;
A temp = A(size);
Ознакомьтесь с правилом 3 (правило 5 для 'C++ 11'). См. Мой ответ здесь для множества способов исправления. http://stackoverflow.com/questions/17840579/scalar-deleting-destructor-issue/17840926 – Chad