Что не так с этой предварительной декларацией - PullRequest
1 голос
/ 22 апреля 2011

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

5 голосов
/ 22 апреля 2011

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

template <typename T> QVector;

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

2 голосов
/ 22 апреля 2011

Ничего.

Что заставляет вас думать, что с этим что-то не так?

...