O que leva a tipos incompletos? (QGraphicsItem: origem ou destino tem tipo incompleto)

Eu tenho um QGraphicsItem personalizado, que (entre outras coisas) mudou o cursor para uma mão aberta quando clicado, usando o procedimento padrão, conforme descrito na documentação do Qt. Isso funcionou bem nas últimas duas semanas. Ontem, mudei algumas coisas dentro da aula. Mais significativamente, agora subclasse diretamente de QGraphicsPixmapItem em vez de QGraphicsItem.

Em algum momento eu comecei a receber o seguinte erro (em parte minha própria tradução):

C664: Conversão do parâmetro 1 de 'Qt :: CursorShape' para 'const QCursor &' não é possível. A origem ou o destino tem um tipo incompleto.

Agora eu tentei descobrir por que meu item tem um tipo incompleto. Infelizmente não consigo refazer quando exatamente esse problema começou a ocorrer. A classe base modificada foi o meu único palpite, mas não consegui pensar em como essa poderia ser a causa. Depois de pesquisar o erro, encontrei exemplos em que os membros da turma estavam um pouco mal definidos, mas não consegui encontrar um erro nas minhas declarações. Então, aqui está o cabeçalho, no caso de eu perder alguma coisa:

<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>

Se este arquivo estiver correto, há algum problema comum que leve a tipos indefinidos que eu possa verificar? Talvez eu esteja procurando mesmo no lugar errado?

Obrigado pelo seu tempo, Louise

questionAnswers(2)

yourAnswerToTheQuestion