c将值赋给if … else中的const QList

c将值赋给if … else中的const QList,第1张

概述我想根据指针的值为const QList赋值. invar是一个指针,如果它是NULL我想为const QList mylist分配第一个值,如果它不是NULL,则为另一个值.但是观察到const正确性:我不打算之后改变mylist的值. 是否有可能 if(invar) const QList<Type> zoneList = invar->getZones();else con 我想根据指针的值为const QList赋值.

invar是一个指针,如果它是NulL我想为const QList myList分配第一个值,如果它不是NulL,则为另一个值.但是观察到const正确性:我不打算之后改变myList的值.

是否有可能

if(invar)    const QList<Type> zoneList = invar->getZones();else    const QList<Type> zoneList = aList ;

我准确地定义了zoneList,为什么这不起作用?

另外,因为我在我的方法的下一部分使用zoneList,我得到这个编译错误:未声明的标识符.

但我也不允许这样写

const QList<Type> zoneList ;    if(invar)        zoneList = invar->getZones();    else        zoneList = NulL ;

我有编译器错误错误1

error C2678: binary '=' : no operator found which takes a left-hand operand of type 'const QList<T>' (or there is no acceptable conversion)

是否可以根据条件为此const QList分配两个不同的值?那么写它的正确方法是什么?

解决方法 使用三元运算符?:

const QList<Type> zoneList(invar ? invar->getZones() : aList);

BTW是NulL还是aList?您在上面的代码中都有.

这个

if(invar)    const QList<Type> zoneList = invar->getZones();else    const QList<Type> zoneList = aList ;

不起作用,因为每个zoneList变量仅在if语句中定义.

总结

以上是内存溢出为你收集整理的c将值赋给if … else中的const QList全部内容,希望文章能够帮你解决c将值赋给if … else中的const QList所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1221047.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存