在做曲线工厂的程序的时候,我写了一行代码是这样的:
AllLines.at(cruveSecions).p1().setY(20);
AllLines是QList<QLineF>类型的,cruveSections是int类型的,这里我犯了一个很低级但是很容易犯的错误,我本是图个方便,然后导致AllLines里面的数据老是更新不了,我很纳闷,最后同事通过查API给我找出了错误的原因。是这样的QList里面通过at访问出来的是个常量,里面的值不能修改成功,但是我很纳闷编译器也不报错,我想可能是setY这个方法设置的是p1,setY()方法跟at是间接的关系,所以编译器没有检查出来。
我错误的去试图用QList里面的at方法改变const常量的值,布布扣,bubuko.com
时间: 2024-10-10 06:22:03