Здравствуйте, гость ( Вход | Регистрация )
|
Andrewshkovskii |
17.9.2009, 23:18
Сообщение
#1
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1
|
Есть такой вот хитрый контейнер :
Это вектор строк таблицы. Пытаюсь заполнить его вот так : получаю .. Цитата D:/clusters/model.cpp:77: error: passing 'const QList<QStandardItem*>' as 'this' argument of 'void QList<T>::push_back(const T&) [with T = QStandardItem*]' discards qualifiers Честно говорят, впервые вижу такую ошибку, прощу направить на путь истинный, и если ошибка действительно в незнании, подсказать что почитать |
|
|
|
![]() |
|
kwisp |
18.9.2009, 8:59
Сообщение
#2
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Andrewshkovskii @ 18.9.2009, 0:18) Link discards qualifiers хорошо кодишь раз впервые видишь. это ты с квалификатором доступа const поимел проблемы. const T & QVector::at ( int i ) const а вообще вложенные шаблоны это жесть. |
|
|
|
|
Litkevich Yuriy |
18.9.2009, 10:58
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(kwisp @ 18.9.2009, 12:59) Link а вообще вложенные шаблоны это жесть. почему же, они довольно часто используются, в том числе и тролями.
|
|
|
|
|
Andrewshkovskii |
18.9.2009, 11:10
Сообщение
#4
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 351 Регистрация: 27.12.2008 Пользователь №: 467 Спасибо сказали: 18 раз(а) Репутация: 1
|
А, понял, возвращает константную ссылку на вложенный контейнер, по-этому добавить и не могу, надо было по [] обращаться.
Вроде так, и вроде понятно!Спасибо:) Ну я решил использовать такое представление таблиц..да и QVector < QList < QStandrtItem * > > удобно пользоваться вместе с QStandartModel .. А кодю я , на сколько я себя знаю, не очень хорошо , учиться и учиться ещё!:) Сообщение отредактировал Andrewshkovskii - 18.9.2009, 11:14 |
|
|
|
|
kwisp |
18.9.2009, 11:23
Сообщение
#5
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата(Litkevich Yuriy @ 18.9.2009, 11:58) Link почему же, они довольно часто используются, в том числе и тролями. та вот читаю тут одну книженцию. Джефри Элджер. С++. большой шутник могу так сказать. но эту тему не плохо раскрыл. использовать можно никто не запрещает, но рекомендует избегать. в принципе понятно что кода много генериться. + из личного опыта могу сказать что разная реализация шаблонов у различных компилятров накладывает некоторые ограничения по переносимости кода. |
|
|
|
|
Litkevich Yuriy |
18.9.2009, 11:37
Сообщение
#6
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94
|
Цитата(kwisp @ 18.9.2009, 15:23) Link но рекомендует избегать. Цитата(kwisp @ 18.9.2009, 15:23) Link ...ограничения по переносимости кода. из-за этого не рекомендует?
|
|
|
|
|
kwisp |
18.9.2009, 11:42
Сообщение
#7
|
|
астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23
|
Цитата Увы, такая возможность существует, но пожалуйста, пользуйтесь ею с максимальной осторожностью. Вложенные шаблоны не только плохо читаются, но и генерируют огромное количество кода при расширении. Помните, что при использовании шаблона самого верхнего уровня будут расширены все шаблоны. Цитата(Litkevich Yuriy @ 18.9.2009, 12:37) Link из-за этого не рекомендует? я ж написл это из личного опыта. я работал с mingw коллега с msvc написал мне класс который надо было использовать. пришлось переписывать кое что из - за шаблонов. Сообщение отредактировал kwisp - 18.9.2009, 11:43 |
|
|
|
![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 13.12.2025, 14:00 |