invalid user-defined conversion from 'int' to 'const QString&'

本文探讨了从整型到字符串的无效用户定义转换问题,分析了函数参数数据类型不匹配的原因,并提供了相应的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:无效的用户定义转换,从整型到字符串。

方法:经检查,函数参数的数据类型不符,需要进行数据类型转换。

关于结构体的定义: struct BeamData { int Frame_Id = 0; QVector<double> ADC_Matrix_Ant1; QVector<double> ADC_Matrix_Ant2; // 序列化支持 friend QDataStream &operator<<(QDataStream &out, const BeamData &b) { return out << b.Frame_Id << b.ADC_Matrix_Ant1 << b.ADC_Matrix_Ant2; } friend QDataStream &operator>>(QDataStream &in, BeamData &b) { return in >> b.Frame_Id >> b.ADC_Matrix_Ant1 >> b.ADC_Matrix_Ant2; } }; struct Radar_ADC_Struct { int Rotate_Scan_Id = 0; qint64 toc = 0; QVector<double> Radar_Angle_Vector; QVector<double> Radar_Wavelength_Vector; QVector<BeamData> beams; QVector<QVector<double>> ANT_CAL_MATRIX; // 序列化支持 friend QDataStream &operator<<(QDataStream &out, const Radar_ADC_Struct &r) { return out << r.Rotate_Scan_Id << r.toc << r.Radar_Angle_Vector << r.Radar_Wavelength_Vector << r.beams << r.ANT_CAL_MATRIX; } friend QDataStream &operator>>(QDataStream &in, Radar_ADC_Struct &r) { return in >> r.Rotate_Scan_Id >> r.toc >> r.Radar_Angle_Vector >> r.Radar_Wavelength_Vector >> r.beams >> r.ANT_CAL_MATRIX; } }; 连续大量类似报错: 1.E:\Qt_work\Deformation_Monitor\Deformation_Monitor_V1_1\globaldata.h:16: error: no match for 'operator<<' (operand types are 'QDataStream' and 'const QVector<double>') return out << b.Frame_Id << b.ADC_Matrix_Ant1 << b.ADC_Matrix_Ant2; ^ 2.E:\Qt_work\Deformation_Monitor\Deformation_Monitor_V1_1\globaldata.h:19: error: ambiguous overload for 'operator>>' (operand types are 'QDataStream' and 'int') return in >> b.Frame_Id >> b.ADC_Matrix_Ant1 >> b.ADC_Matrix_Ant2; ^ 3.E:\Qt_work\Deformation_Monitor\Deformation_Monitor_V1_1\globaldata.h:19: error: invalid user-defined conversion from 'int' to 'QString&' [-fpermissive] return in >> b.Frame_Id >> b.ADC_Matrix_Ant1 >> b.ADC_Matrix_Ant2; ^ 4.E:\Qt_work\Deformation_Monitor\Deformation_Monitor_V1_1\globaldata.h:19: error: invalid conversion from 'int' to 'const char*' [-fpermissive] return in >> b.Frame_Id >> b.ADC_Matrix_Ant1 >> b.ADC_Matrix_Ant2; ^ 5.E:\Qt_work\Deformation_Monitor\Deformation_Monitor_V1_1\globaldata.h:19: error: invalid conversion from 'int' to 'const char*' [-fpermissive] 6.E:\Qt_work\Deformation_Monitor\Deformation_Monitor_V1_1\globaldata.h:19: error: invalid user-defined conversion from 'int' to 'QByteArray&' [-fpermissive] return in >> b.Frame_Id >> b.ADC_Matrix_Ant1 >> b.ADC_Matrix_Ant2; ^
最新发布
03-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值