从 'const QVector<QVector<qreal>>' 转换为 'QVector<QVector<qreal>>'
convert from 'const QVector<QVector<qreal>>' to 'QVector<QVector<qreal>>'
如何解决以下问题,即将const QVector<QVector<qreal>>
转换为QVector<QVector<qreal>>
?
我尝试了一些步骤但没有帮助:
QVector<QVector<qreal>> points = const_cast<QVector<QVector<qreal>>>(abc.points);
abc.points 是 QVector<QVector<qreal>>
类型的结构元素,我试图从 QDataStream
:
中提取它
QDataStream& operator >> (QDataStream& in, const CustomPointCloud& abc)
{
quint32 pointsCount = quint32(abc.pointsCount);
QVector<QVector<qreal>> points =
const_cast<QVector<QVector<qreal>>>(abc.points);
in >> pointsCount >> points;
return in;
}
完成了
QVector<QVector<qreal>> points(abc.points);
如果有其他方法请指教
<<
取用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;
}
如何解决以下问题,即将const QVector<QVector<qreal>>
转换为QVector<QVector<qreal>>
?
我尝试了一些步骤但没有帮助:
QVector<QVector<qreal>> points = const_cast<QVector<QVector<qreal>>>(abc.points);
abc.points 是 QVector<QVector<qreal>>
类型的结构元素,我试图从 QDataStream
:
QDataStream& operator >> (QDataStream& in, const CustomPointCloud& abc)
{
quint32 pointsCount = quint32(abc.pointsCount);
QVector<QVector<qreal>> points =
const_cast<QVector<QVector<qreal>>>(abc.points);
in >> pointsCount >> points;
return in;
}
完成了
QVector<QVector<qreal>> points(abc.points);
如果有其他方法请指教
<<
取用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;
}