我有以下代码:
QPair<QSharedPointer<unsigned int>, int> someclass::somefunction() {
int siz = data_size();
QSharedPointer<unsigned int> buffer(new unsigned int[siz]);
// Fill the buffer...
return qMakePair(buffer, siz);
}
在某些时候,QSharedPointer
此函数返回的值将超出范围,并且在构造函数中设置的指针将被释放。使用 valgrind 3.6.1,我收到“不匹配的 free()/delete/delete[]”错误。我的使用有什么问题,QSharedPointer
还是我只需要忍受这个 valgrind 警告?