我在一个项目中工作,并且使用xerces库。当我尝试删除指针时,我的项目崩溃了。

这是源代码:

std::ostream& operator<<(std::ostream& target, const DOMString& s)
{
char *p = s.transcode(); // method from xerces
target << p;
delete [] p;

return target;
}

此方法在Visual Studio 6中效果很好(我正在尝试在2010年构建)。

最佳答案

xerces docs:



看来xerces用new[](也许是malloc或某些自定义分配器)分配了缓冲区而不是。确保缓冲区安全释放的唯一方法是:XMLString::release

关于c++ - 当我尝试使用xerces “visual studio 2010”释放内存时,我的项目崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8476347/

10-11 23:19