views:

175

answers:

1
#include <vector>

using namespace std;

int main()
{
    vector<int> *list = new vector<int>[33];
    delete[] list;
    return 0;
}

Any reason why the delete SIGSEGVs?

+4  A: 

It doesn't matter if the type is a template or not. The compiler will expand the code to a normal type. Deleting an array created with new[] you always use delete[].

The code you pasted is a little unusual but technically valid.

Brian R. Bondy