Что не так с этой предварительной декларацией
Несколько раз я использовал идиому прыщей, чтобы получить короткое время компиляции. Чтобы получить "хороший" заголовочный файл, я возвращаю указатель вектора, который содержит указатель 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*>
должен делать то, что вы хотите.