Название: [qt-4.2] Q_DECLARE_METATYPE( QFileInfo ) где прописывать ? Отправлено: izoomer от Январь 14, 2007, 14:31 Где нужно прописывать данную диррективу ?
есть три файла заголовочных для трех классов. Если прописываю в каждом загловочном файле то пишет что previous definition of `struct QMetaTypeId<QFileInfo>' если убираю в одном из файлов и оставляю толь ков одном файле, то пишет что: error: 'struct QMetaTypeId<QFileInfo>' has no member named 'qt_metatype_id' то есть нет определения метатипа. куда нужно вставлять то эту директиву что бы все виделось ?! Название: [qt-4.2] Q_DECLARE_METATYPE( QFileInfo ) где прописывать ? Отправлено: Dendy от Январь 14, 2007, 14:45 Асистант.
Ideally, this macro should be placed below the declaration of the class or struct. If that is not possible, it can be put in a private header file which has to be included every time that type is used in a QVariant. Название: [qt-4.2] Q_DECLARE_METATYPE( QFileInfo ) где прописывать ? Отправлено: izoomer от Январь 14, 2007, 14:50 ну так и вставляю каждй раз в конце каждого заголовочного файла, где использую QVariant с QFileInfo - и ругается что уже определено, а как только уберу то пишет что нет определения
Название: [qt-4.2] Q_DECLARE_METATYPE( QFileInfo ) где прописывать ? Отправлено: Dendy от Январь 14, 2007, 15:10 С++ матчасть хромает. Естественно препроцессор увидит повторньІй макрос при компиляции ОДНОГО cpp файла. Именно поетому существуют:
Код: #ifndef A_H Код: #pragma once Нужно так: Код: // fileinfo_p.h И в каждом cpp, что юзает кастинг QVariant в сей или из сего типа включать fileinfo_p.h. |