以下のコードから無効なポイント エラーが発生します。理由がわかりません。私がやろうとしているのは、ベクターからヒープ上の空き文字列を削除することだけです:
void func() {
vector<string>* vec = new vector<string>;
vec->push_back(*(new string("1")));
vec->push_back(*(new string("2")));
for(vector<string>::iterator itr = vec->begin(); itr != vec->end(); ++itr)
{
string* ptr = &(*itr);
delete(ptr);
}
}
編集: push_back が文字列のコピーを作成するためですか?