Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Третий архив вопросов и ответов (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-814/)
-   -   Не работает макрос Q_DECLARE_METATYPE (https://www.otvetnemail.ru/tretij-arhiv-voprosov-i-otvetov-814/ne-rabotaet-makros-q_declare_metatype-254663/)

Guest 28.09.2011 14:38

Не работает макрос Q_DECLARE_METATYPE
 
Здравствуйте!У меня возникла проблема с регистрацией типа для использования с QVariant.А именно мне необходимо зарегистрировать следующий класс:Код:class MYLIBSHARED_EXPORT MapItem{public: enum Type {Root, Tab, Main, Depended}; MapItem(Type type = Root, MapItem* parent = 0); ~MapItem(); Type type; MapItem* parent; QList children; QVariant data;};Сразу после определения класса, я регистрирую класс с помощью Q_DECLARE_METATYPE:Код:Q_DECLARE_METATYP E(MapItem)При сборке компилятор сообщает следующее:Код:...\qmetatype.h:-1: In static member function 'static int QMetaTypeId2::qt_metatype_id() [with T = MapItem*]':...\qmetatype.h:169: ошибка: 'qt_metatype_id' is not a member of 'QMetaTypeId'...\qmetatype.h:169: предупреждение: control reaches end of non-void functionРаньше, когда я регистрировал типы типа struct все было нормально. Это первый раз, когда я регистрировал класс.Подскажите, если кто знает, в чем тут может быть дело?


Часовой пояс GMT, время: 16:19.


© www.otvetnemail.ru - Форум вопросов и ответов.