Qt , problem z połączeniem klas

Witam, mam 2 klasy :

1) Link :

  class Link : public QGraphicsLineItem
{
public:
    Link(Node *fromNode, Node *toNode);
    ~Link();
    Node *fromNode() const;
    Node *toNode() const;
    void setColor(const QColor &color);
    QColor color() const;
    void trackNodes();
private:
    Node *myFromNode;
    Node *myToNode;
};

2) Node:

class Node : public QGraphicsItem
{
    Q_DECLARE_TR_FUNCTIONS(Node)

    public:
    Node();
    void setText(const QString &text);
    QString text() const;
    void setTextColor(const QColor &color);
    QColor textColor() const;
    void setOutlineColor(const QColor &color);
    QColor outlineColor() const;
    void setBackgroundColor(const QColor &color);
    QColor backgroundColor() const;
    void addLink(Link *link);
    void removeLink(Link *link);
    QRectF boundingRect() const;
    QPainterPath shape() const;
    void paint(QPainter *painter,
    const QStyleOptionGraphicsItem *option, QWidget *widget);
protected:
    void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
    QVariant itemChange(GraphicsItemChange change,
                        const QVariant &value);
private:
    QRectF outlineRect() const;
    int roundness(double size) const;
    QSet<Link *> myLinks;
    QString myText;
    QColor myTextColor;
    QColor myBackgroundColor;
    QColor myOutlineColor;
};

Jak widać powyżej , w klasie Link znajdują się obiekty typu Node( przynajmniej jako argumenty funkcji ) i odwrotnie , w klasie Node są obiekty typu Link. Oczywiscie mam problem z kompilacją , generalnie kompilator nie rozpoznaje obiektu Node w klasie Link, nie ważne czy mam te 2 klasy w 1 pliku , czy też w osobnych i robie include`y. Przykład tych klas jest z książki o Qt , wiec prawdopodobnie to ja cos zepsułem , albo czegos nie rozumiem , proszę napiszcie co o tym myslicie

Zaloguj się, aby dodać swoją odpowiedź