In the following code when I add the the line which is specified with an arrow gives error:
Error in `./a.out': double free or corruption (fasttop): 0x00000000007a7030 * Aborted (core dumped)
The code works if I do not use destructor. Any idea?
#include<iostream>
#include<vector>
struct Element
{
    int *vtx;
    ~Element ()
    {
        delete [] vtx;
    }
};
int main ()
{
    Element *elm = new Element [2];
    elm[0].vtx = new int [2]; // <----- adding this gives error
    std::vector <Element> vec;
    vec.push_back (elm[0]);
    vec.push_back (elm[0]);
    return 0;
}
 
     
    