Co prowadzi do niekompletnych typów? (QGraphicsItem: źródło lub cel ma niekompletny typ)

Mam niestandardowy QGraphicsItem, który (między innymi) zmienił kursor na otwartą rękę po kliknięciu, używając standardowej procedury opisanej w dokumentacji Qt. To działało dobrze przez ostatnie dwa tygodnie. Wczoraj zmieniłem kilka rzeczy w klasie. Co najważniejsze, teraz podklasuję bezpośrednio z QGraphicsPixmapItem zamiast QGraphicsItem.

W pewnym momencie zacząłem otrzymywać następujący błąd (częściowo moje własne tłumaczenie):

C664: Konwersja parametru 1 z „Qt :: CursorShape” na „const QCursor &” nie jest możliwa. Źródło lub cel mają niekompletny typ.

Próbuję teraz dowiedzieć się, dlaczego mój przedmiot ma niekompletny typ. Niestety nie mogę prześledzić, kiedy dokładnie wystąpił ten problem. Zmieniona klasa bazowa była moim jedynym przypuszczeniem, ale tak naprawdę nie mogłem wymyślić sposobu, w jaki mogłaby to być przyczyna. Po przeszukaniu błędu znalazłem przykłady, w których członkowie klasy byli nieco źle zdefiniowani, ale nie mogłem znaleźć błędu w moich deklaracjach. Oto nagłówek, na wypadek, gdyby coś przeoczyłem:

<code>#include <QGraphicsPixmapItem>
class Collection;
class ItemSource;

class PhotoItem : public QGraphicsPixmapItem
{
public:
    PhotoItem( QString sourceFilePath, Collection *collection =0, QColor color =Qt::white, qreal size = 80.0);

    enum Orientation    { portrait, landscape };

    QPixmap content();
    bool hasContent();
    QColor color();

    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
    QRectF boundingRect() const;

    void mousePressEvent(QGraphicsSceneMouseEvent *event);
    void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
    void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);

private:
    qreal _size;
    Orientation _orientation;
    QPixmap _content;
    QColor _color;
    Collection *_collection;
    ItemSource *_source;
};
</code>

Jeśli ten plik jest poprawny, to czy są jakieś typowe problemy, które prowadzą do niezdefiniowanych typów, które mogę sprawdzić? Może nawet szukam w niewłaściwym miejscu?

Dziękuję za rozmowę, Louise

questionAnswers(2)

yourAnswerToTheQuestion