Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt4] Определение QVector<Type*> в самом Type


Автор: Dem0n13 22.11.2011, 22:31
Здравствуйте! Есть класс:

Код

class MyType
{
public:
    MyType();

    // members
    qint32 hash;
    qint32 type;
    QString message;
    QDateTime time;
    MyType* children; // [1]
    //QVector<MyType*> children; // [2]
    //QVector<MyType*> parents; // [3]
};


Что-то вроде узла дерева, у которого может быть много родителей и потомков.
В main.cpp создаю MyType *mt1; Мне нужны строчки [2] и [3], но как только я их расскомментирую, ошибка:
Код

ошибка: field 'children' has incomplete type
ошибка: field 'parents' has incomplete type

Пробовал писать class MyType; вначале файла, но тщетно. Со строчкой [1] собирает нормально. Как мне обойти это?
Заранее, спасибо!


Автор: borisbn 22.11.2011, 22:48
добавь
Код
#include <QVector>

и всё будет в шоколаде...
вот такой код у меня компилится без проблем
Код

#include <QtGlobal> // для qint32
#include <QString> // понятно для чего
#include <QVector> // - || -
#include <QDateTime> // - || -

class MyType
{
public:
    MyType();

    // members
    qint32 hash;
    qint32 type;
    QString message;
    QDateTime time;
    QVector<MyType*> children;
    QVector<MyType*> parents;
};

int main() {}

Автор: Dem0n13 22.11.2011, 22:52
Код

#include <QVector>

Не хватало этой строчки.
Огромное спасибо, чувствую себя обманутым)

Автор: bsa 23.11.2011, 10:20
Цитата(Dem0n13 @  22.11.2011,  23:52 Найти цитируемый пост)
Огромное спасибо, чувствую себя обманутым) 

Кем?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)