| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] ISO C++ forbids или проблеммы с классами |
| Автор: kefir01 10.10.2010, 04:04 | ||||
| Здравствуйте, господа знатоки! =) Чует мое сердце, что буду бит за сей вопрос, но что-то никак не вопру в чем проблема. Глядите, есть унаследованный от QGraphicsView класс QGSMap, а в нем - унаследованный от QGraphicsItem класс QGSLayer: qgsmap.h
qgsmap/qgslayer.h (qgsmap - папка)
В награзу за труды я получаю ISO C++ forbids declaration of 'QGSlayer' with no type Вроде и forward declaration сделал и указатели использую... Буду рад если выявите и поясните наличие фундаментальных заблуждений в объявлении классов (если таковые имеются). Заранее спасибо! |
| Автор: boostcoder 10.10.2010, 05:54 |
попробуй закомментируй. если в файле qgsmap.h используешь только указатели на него, то этого не нужно. Добавлено через 43 секунды покажи полный вывод компилятора. |
| Автор: SABROG 10.10.2010, 10:15 | ||
Тут "l" маленькая, а должна быть большая "L", опечатка. |
| Автор: kefir01 10.10.2010, 12:20 | ||||
| Нда надо спать больше)) Спасибо! Задам тогда другой вопрос - как избежать
? В смысле - как избежать ручного переделывания конструкций типа:
где items() - QList<QGraphicsItem*> Или здесь только влезание в qgraphicsitem.h поможет? |
| Автор: SABROG 10.10.2010, 18:08 |
| Я бы не рекомендовал использовать foreach, если планируется изменять данные в контейнере. Кроме того foreach создает временную копию всего контейнера, поэтому возвращаемые элементы идут как const. |
| Автор: kefir01 10.10.2010, 23:52 |
| Окей буду знать, спасибо) |