我从下面的代码中收到无效点错误,我不明白为什么。我要做的就是从向量中删除堆上的一些字符串:
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 创建了字符串的副本吗?