这个前瞻性声明有什么问题

oRU*_*MOo 1 c++ qt forward-declaration

我曾多次用疙瘩成语来缩短编译时间.为了得到一个"好"的头文件,我返回一个包含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
Run Code Online (Sandbox Code Playgroud)

它出什么问题了?

APr*_*mer 5

QVector 它不是一个类,它是一个类模板,不能像你那样声明.

template <typename T> QVector;
Run Code Online (Sandbox Code Playgroud)

然后使用QVector<QPoint*>应该做你想要的.