Here is an interface
Qt Code:
  1. #ifndef INTERFACES_H
  2. #define INTERFACES_H
  3. #include <QtPlugin>
  4. #include <QtGui>
  5. #include <QList>
  6. class QImage;
  7. class QString;
  8.  
  9. class FilterInterface
  10. {
  11. public:
  12. virtual ~FilterInterface(){}
  13. virtual QStringList filters() const = 0;
  14.  
  15. virtual QImage filterImage(const QString &filter, const QImage &image,
  16. QWidget *parent) = 0;
  17. virtual QList<QImage> filterImageList(QString &filter, const QImage &image, QWidget *parent) = 0;
  18.  
  19. };
  20. Q_DECLARE_INTERFACE(FilterInterface,
  21. "com.iadfuq.sp.filterplugin.FilterInterface/1.0")
  22.  
  23. #endif
To copy to clipboard, switch view to plain text mode 

This is copied from the plug and paint example of Qt. Only difference is I added a method called filterImageList that must return a QList of QImage.

Now I am trying to use with
Qt Code:
  1. const QList<QImage> images = iFilter->filterImageList(action->text(),
  2. pixmapItem->pixmap().toImage(), 0);
To copy to clipboard, switch view to plain text mode 

I get the error

mainwindow.cpp:1606: error: no matching function for call to ‘FilterInterface::filterImageList(QString, QImage, int)’
interfaces.h:20: note: candidates are: virtual QList<QImage> FilterInterface::filterImageList(QString&, const QImage&, QWidget*)
Is there something wrong with the way I declare QList<QImage> images?