Двойное освобождение или повреждение после очереди :: push
#include <queue>
using namespace std;
class Test{
int *myArray;
public:
Test(){
myArray = new int[10];
}
~Test(){
delete[] myArray;
}
};
int main(){
queue<Test> q
Test t;
q.push(t);
}
После того, как я запустил это, я получаю ошибку времени выполнения «двойное освобождение или повреждение». Если я избавлюсь от содержания деструктора (delete
) все работает отлично. В чем дело?