当前位置: 代码迷 >> QT开发 >> Qlist 的有关问题(二维链表 存储自定义类型)
  详细解决方案

Qlist 的有关问题(二维链表 存储自定义类型)

热度:647   发布时间:2016-04-25 05:09:57.0
Qlist 的问题(二维链表 存储自定义类型)
C/C++ code
//自定义类型struct CarLaneLog{    int LaneNo;                             int Datatype;                           int colorflag;                          QString Loginfo;                        quint8 checkCode;                   public:    void Init()    {        LaneNo=0;        Datatype=0;        colorflag=0;        Loginfo="";        checkCode=0;    }    CarLaneLog &operator=(const CarLaneLog &temp)    {        if(this==&temp)            return *this;        LaneNo=temp.LaneNo;        Datatype=temp.Datatype;        colorflag=temp.colorflag;        Loginfo=temp.Loginfo;        checkCode=temp.checkCode;        return *this;    }};    //保存15条日志信息    QList<QList<CarLaneLog > >LaneLogList;//其中一段操作        int i;        for(i=0;i!=LaneLogList.count();++i)        {            if(LaneLogList.at(i).at(0).LaneNo==LaneNo)            {                if(LaneLogList.at(i).count()>=15)                {                    LaneLogList.at(i).pop_front();                }                LaneLogList.at(i).append(Analysis.LaneLoginfo);            }        }        if(i==LaneLogList.count())        {            QList<CarLaneLog> temp;            temp.append(Analysis.LaneLoginfo);            LaneLogList.push_back(temp);        }/*--------------------------------注释------------------------*///其中Analysis是一个类,其中他有一个成员是CarLaneLog 类型变量LaneLoginfo//LaneNo是一个整型变量,已经赋予初值2

error: passing 'const QList<CarLaneLog>' as 'this' argument of 'void QList<T>::pop_front() [with T = CarLaneLog]' discards qualifiers

passing 'const QList<CarLaneLog>' as 'this' argument of 'void QList<T>::append(const T&) [with T = CarLaneLog]' discards qualifiers

这是错误输出。小弟就是想做一个二维链表,里面可以存储我自定义的结构体。并且这个二维链表每个节点的链表长度是15.
可以实现增删改查的操作。
为毛会有这种错误啊,大牛们,求解啊,

------解决方案--------------------
不要用at,用iterator操作。
------解决方案--------------------
探讨

引用:

不要用at,用iterator操作。

谢谢你的回复……我马上就去试试……