Change QVector<struct TInputData> input(DATA_SOURCE_END);
to QVector<TInputData*> input(DATA_SOURCE_END);
QVector
need to copy of its content, but copy constructor of QFile
is private, it cant be copied.
When using pointers you should manually new and delete your TInputData objects or you can use smart pointers for it.
You can try QSharedPointer
http://qt-project.org/doc/qt-4.8/qsharedpointer.html#QSharedPointer-2.
Your vector will be QVector<QSharedPointer<TInputData> > input(DATA_SOURCE_END)