У меня есть следующий код:
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?