Двойное освобождение или повреждение после очереди :: 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) все работает отлично. В чем дело?

Ответы на вопрос(5)

Ваш ответ на вопрос