Russian Qt Forum
Ноябрь 26, 2024, 08:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: error: passing 'const QString' as 'this' argument of 'QString  (Прочитано 4648 раз)
qwyllum
Гость
« : Июнь 25, 2013, 17:19 »

Подскажите пожалуйста, что может быть за ошибка. Делал пример с моделью, наследуемой от абстрактной. Переопределяю метод setData:
Код:
bool tvPropertiesModel::setData(const QModelIndex &index, const QVariant &value, int role)
{
    if (index.isValid() && role == Qt::EditRole)
    {
        // записываем данные из каждого столбца value.toString()

        list->at(index.row()).data=value.toString();

        return true;
    }
    return false;
}

На что выдается:

..\v0002\tvpropertiesmodel.cpp:67:51: error: passing 'const QString' as 'this' argument of 'QString& QString::operator=(const QString&)' discards qualifiers [-fpermissive]
..\v0002\tvpropertiesmodel.cpp: In member function 'virtual QVariant tvPropertiesModel::data(const QModelIndex&, int) const':


Не могу понять, что это значит? При чем тут const к моей переменной?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Июнь 25, 2013, 17:21 »

list->at(...) возвращает константную ссылку? Используй [].
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Июнь 25, 2013, 17:38 »

…что будет выглядеть как list->operator[](index.row()) либо (*list)[index.row()]
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.