Название: Как из QList<TCode> ObjectList удалить элемент? Отправлено: Martiro от Октябрь 14, 2010, 15:03 Есть структура
Код: typedef struct На ее основе создается QList Код: QList<TCode> ObjectList; Потом этот ObjectList заполняю Код: TCode curSt; Когда я хочу удалить из этого QList элемент, пишу: Код: //... Компилятор обругивает: Цитировать 2844: error: passing `const QList<TCode>' as `this' argument of `void QList<T>::removeAt(int) [with T = TCode]' discards qualifiers Вопросы: Почему? Как дальше быть? ??? Qt4 Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: SimpleSunny от Октябрь 14, 2010, 15:13 removeAt неконстантный метод, а ObjectList объявлен с const.
Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: Martiro от Октябрь 14, 2010, 16:34 И как же посоветуете поступить в этой ситуации?
Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: marbius от Октябрь 14, 2010, 18:51 void myClass::myMethod() const
{ ... ObjectList.removeAt(i); ... } определить метод без const Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: Martiro от Октябрь 14, 2010, 19:29 А он и так не const.
Пока что в голову приходит только как переделать struct в класс от QObject. Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: marbius от Октябрь 14, 2010, 19:42 Ну, я перед этим писал сообщение, а потом его удалил. Смысл его был в том, что Ваш код у меня проходит без ошибок. Я не смог повторить Вашего сообщения об ошибке, пока не поставил const в определение метода. Такие же комментарии на англоязычных просторах интернета имеются про подобного рода ошибки.
Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: SimpleSunny от Октябрь 14, 2010, 20:08 Покажите функцию, метод где ругается компилятор.
Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: Martiro от Октябрь 15, 2010, 12:09 Код
Где: Код: QList<clSegment *> tree; Код: clSegment * curSegment; Код: class clSegment Код: class clObjectDesc{ Код: typedef struct Название: Re: Как из QList<TCode> ObjectList удалить элемент? Отправлено: BRE от Октябрь 15, 2010, 13:14 const T & QList::at ( int i ) const
Обрати внимание на слова const. |