【发布时间】:2011-03-29 13:26:26
【问题描述】:
我有一个这样的 wchar_t* 向量:
std::vector<wchar_t*> myvector;
还有一个函数,它接受一个字符串并将其插入向量中
void myfunction(wchar_t* mystring)
{
myvector.push_back(mystring);
}
myfunction(L"this is my string");
当我关闭程序时,我需要删除向量的分配内存,这样我就不会发生内存泄漏,为此我正在尝试这样做:
for (std::vector<wchar_t*>::iterator it = myvector.begin(); it != myvector.end(); ++it)
{
delete [] *it;
}
它可以编译,一切正常,但是当需要释放内存时,我有一个运行时错误:
error http://k.min.us/iklWGE.png
为什么?我该如何解决这个问题?
【问题讨论】:
-
您应该使用
std::wstring以避免遇到此类问题。
标签: c++ vector wchar-t memory-management