• 1458阅读
  • 4回复

[提问]QVariant能否放入QVector [复制链接]

上一主题 下一主题
离线qq2632671
 

只看楼主 倒序阅读 楼主  发表于: 2021-08-03
  1. QVector<QVariant> datas;
  2. for(int i = 0 ; i < 10 ; ++i){
  3.     datas.append(QVariant(i));
  4.     qDebug()<<"当前数据数量为:"<<datas.size();
  5. }

然后这段代码输出时

当前数据数量为:1
当前数据数量为:1
当前数据数量为:1
当前数据数量为:1
当前数据数量为:1

当前数据数量为:1
当前数据数量为:1
当前数据数量为:1
当前数据数量为:1
当前数据数量为:1

这个是什么情况?
离线hitler++

只看该作者 1楼 发表于: 2021-08-03
可以考虑用std::any ,不过都差不多,最后都要手动 cast<type>()
离线kaon

只看该作者 2楼 发表于: 2021-08-03
表示不可能size一直是1
离线20091001753

只看该作者 3楼 发表于: 2021-08-04
改成 QList 吧
(づ ̄ 3 ̄)づ
离线qq2632671

只看该作者 4楼 发表于: 2021-08-04
解决了,和QVariant无关
我是用for(auto A : datas)来修改数据的,for(auto A :)这样的语句不能修改A的值
1条评分金钱+10
20091001753 金钱 +10 其实可以,加一个 & 号就好:for(auto& A : datas) 2021-08-04
快速回复
限100 字节
 
上一个 下一个