2017-05-02 9 views
2

はファイルでは隠しオーバーロードされた仮想関数OSX QT4

をコンパイルするplaylistWidget.cppから含まれている場合、私のMac上でQT4に問題がある ./playlistWidget.h:121:16:警告:「NPlaylistWidget :: mimeData 'は、 がオーバーロードされないようにします 仮想関数[-Woverloaded-virtual] QMimeData * mimeData(const QList items)const; ^ /opt/local/libexec/qt4/Library/Frameworks/QtGui.framework/Versions/4/Headers/qlistwidget.h:280:24: 注: 隠されたオーバーロードされた仮想関数 'QListWidget :: mimeData'がここに宣言されました: 第1引数( 'const QList'対 'const QList')で型が一致しません。 仮想QMimeData * mimeData(const QList項目)const; ^

マイコード:

private: 
     QPointer<QDrag> m_itemDrag; 
     bool m_fileDrop; 
     QList<QUrl> m_mimeDataUrls; 
     QStringList mimeTypes() const; 
     QMimeData *mimeData(const QList<NPlaylistWidgetItem *> items) const; 
     bool dropMimeData(int index, const QMimeData *data, Qt::DropAction action); 
    #ifdef Q_WS_MAC 
     Qt::DropActions supportedDropActions() const; 
    #endif 
    protected: 
     void dropEvent(QDropEvent *event); 
     void dragEnterEvent(QDragEnterEvent *event); 
     void dragMoveEvent(QDragMoveEvent *event); 
     void dragLeaveEvent(QDragLeaveEvent *event); 
     void mouseMoveEvent(QMouseEvent *event); 

私はそれを解決することができますか?

+0

これは警告であるように見えますが、一般的にコンパイルを中断するべきではありません。あなたのmacOSプロジェクトのビルド設定で "警告をエラーとして扱う"設定をチェックできますか? 「はい」の場合は「いいえ」を試してください –

+0

はい、警告ですが、ドラッグアンドドロップ機能であり、コンパイルしても機能しません。 –

答えて

0

関数のシグネチャは次のとおりです。*
QMimeData *mimeData(const QList<NPlaylistWidgetItem *> items) const

変更QListWidgetItemにパラメータをし、問題ないはずです。 QMimeData *mimeData(const QList<QListWidgetItem *> items) const

あなたQListにはの署名のためNPlaylistWidgetItem *によってパラメータ化されます。 少なくとも-Wall -Wextra -Werrorを使用してコンパイルすることをお勧めします。