<<
принимает значение const
, поскольку оно не изменяет параметр, тогда как весь смысл >>
заключается в изменении параметра.
Вам следует изменить определение функции.Вы читаете данные из потока в локальный объект, который перестает существовать в конце функции.
QDataStream& operator >> (QDataStream& in, CustomPointCloud& abc)
{
quint32 pointsCount;
in >> pointsCount;
in >> abc.points;
return in;
}
Я бы также предположил, что вам не нужно количество точек для извлечения потока, с этим справляется базовый шаблон QDataStream& >> (QDataStream&, QVector<T>&)
.Пара операторов будет тогда
QDataStream& operator >> (QDataStream& in, CustomPointCloud& abc)
{
return in >> abc.points;
}
QDataStream& operator << (QDataStream& out, const CustomPointCloud& abc)
{
return out << abc.points;
}