2011-12-10 1 views
1

J'ai ceci:QMovie est privé

QMovie Tests::QMovieReturn() { 
    QMovie ReturnMovie; 
    ReturnMovie->setFileName("Test.gif"); 
    return ReturnMovie; 
} 

Mais il dit: 'QMovie :: QMovie (const QMovie &)' est privé dans ce contexte. (Ligne qui m'envoie au retour ReturnMovie)

Si au retour le retour tout fonctionne bien. Une solution de contournement pour cela?

Répondre

2

Donc, le compilateur dit, ce constructeur de copie est privé. Cela signifie que les développeurs de Qt ne voulaient pas que vous l'utilisiez. La solution de contournement, ou mieux de dire l'utilisation correcte de QMovie est de le créer sur le tas.

QMovie* ReturnMovie = new QMovie; 
+0

Si c'est le seul moyen depuis que je ne peux pas retourner, il n'y a pas une autre classe qui me permet de retourner le GIF animé? – Kazuma

+1

@Kazuma Vous pouvez parfaitement renvoyer 'QMovie *'. – Beginner

+0

QMovie MyFunction :: TestFunction() { QMovie * MyMovie = nouveau QMovie; return MyMovie; } Je l'ai fait (Si vous voulez dire cela). Toujours obtenir l'isuse. :/ – Kazuma

1

Vous devez probablement utiliser new pour allouer dynamiquement votre QMovie et renvoyer un pointeur, car il est évident que QMovie ne souhaite pas être copié.