Что не так с этой предварительной декларацией

Несколько раз я использовал идиому прыщей, чтобы получить короткое время компиляции. Чтобы получить "хороший" заголовочный файл, я возвращаю указатель вектора, который содержит указатель QPoint (объект Qt).

Давайте посмотрим на мой заголовочный файл:

#ifndef CHEXAGON_H
#define CHEXAGON_H

class QPoint;
class QVector;

class CHexagon
{
public:
    CHexagon(const unsigned int & PosX, const unsigned int & PosY, const unsigned int & Radius);
    QVector * getEdges();
    QPoint * getCenter();
private:
    class Pimple;
    Pimple * pPimple;
};

#endif // CHEXAGON_H

Что с этим не так?

2 ответа

Решение

QVector это не класс, это шаблон класса и не может быть объявлен так, как вы.

template <typename T> QVector;

а затем с помощью QVector<QPoint*> должен делать то, что вы хотите.

Ничего такого.

С чего ты взял, что с этим что-то не так?

Другие вопросы по тегам