qq_44771391
唐宋元明沁清
采纳率66.7%
2019-10-03 13:30 浏览 813

qt-c++,为啥我的bool变量不能赋值,一直提示只读错误?

成员变量函数内部

我用信号和槽传递了一些变量,只是那些变量是const属性的,所以我的信号和槽也加了const属性,但是不知道为啥就是不能类里面的成员变量m_one,等不能接收bool属性的值,但是我自己在函数内部新建一个bool变量的值就不报错了。

因为这个函数里都是const属性,所以我要用信号传递,也要加const才不报错
图片说明
如果不加const就会有这样的错误:
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • 已采纳
    JonathanYan JonathanYan 2019-10-03 14:16

    你这三张图是三个不同的函数,onCheckedChanged,checkedChanged,paint,是哪里要求函数必须是const的?
    const传形参意思是不能改变形参变量,const函数是不能改变调用该函数的类的成员变量,你试试调用一个非const函数来设置?
    或者你把chechedChanged的逻辑放到别的函数里去,这个paint应该是继承过来不让修改的函数吧,这个函数这样开发应该就是为了后续开发人员不涉及与函数不相关的处理逻辑。
    另外你那5个m是不是可以用数组做。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-10-03 13:33

    要看你的代码,以及报了什么错
    仔细检查数据类型的定义、是否有同名的变量,是不是尝试修改左值等


    从你的图看,的确是因为const申明造成的,你得去掉const

    点赞 1 评论 复制链接分享

相关推荐