在'* __result = * __first'中无法与'operator='匹敌
no match for 'operator=' in '* __result = * __first'
我正试图在std::vector中复制QList这是我的代码:
std::copy(_param_31.listJobs->list_USCOREjobs.begin(),
_param_31.listJobs->list_USCOREjobs.end(),
listJobs.toVector().toStdVector().begin());
_param_31.listJobs->list_USCOREjobs // is a vector
listJobs // is a QList
错误为:
no match for 'operator=' in '* __result = * __first'
非常感谢。
toStdVector()
创建一个新向量,该向量具有与Qt集合相同的元素。指定给该向量不会对原始集合产生任何影响。toVector()
也只是创建一个临时的。
我还没有使用过Qt,但看起来Qt容器可以像标准容器一样使用。所以,假设你试图用_param_31.listJobs->list_USCOREjobs
的内容替换listJobs
的内容,我认为你可以这样做:
listJobs.clear();
std::copy(_param_31.listJobs->list_USCOREjobs.begin(),
_param_31.listJobs->list_USCOREjobs.end(),
std::back_inserter(listJobs));
相关文章:
- 为什么 std::optional::operator=(U&&) 要求你是非标量类型?
- 'operator='已弃用:改用 QDir::setPath()
- 过载'operator new'如何导致无限循环?
- 与'operator='不匹配(操作数类型'String'且"void")
- SegFault 同时使用 std::string::operator+= 和函数作为参数
- 处理"no operator found"
- 如何编写 operator= 用于使用虚拟方法与非平凡成员的匿名联合
- 运算符重载:"operator+"必须采用零个或一个参数
- 使用 operator() 扩展 Eigen::EigenBase
- 错误消息:使用"string* +="后"no match for 'operator+='"
- 有没有办法修改'operator->',以便'z->im'返回复数的虚部
- "operator +="行为异常的定义
- C++ "error: use of overloaded operator '*' is ambiguous"似乎只有一场比赛
- 无法与'operator !='匹敌
- 无法与'operator='匹敌
- C++'operator='无法匹敌
- 在'* __result = * __first'中无法与'operator='匹敌
- QVector 无法与'operator='匹敌
- STL C++:无法与'operator*'匹敌
- 无法与'operator=='匹敌