Podwójne zwolnienie lub uszkodzenie po kolejce :: 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);
}
Po uruchomieniu otrzymuję błąd wykonania „podwójnie wolny lub zepsuty”. Jeśli pozbędę się zawartości destruktora (delete
) to działa dobrze. Co jest nie tak?