Я пытаюсь разработать приложение Qt с использованием 4.7.3, которое включает в себя запись QList во флай.
Мой класс:
class Task
{
public:
QString ta, desc;
QTime ti;
QDate da;
int pri, diff;
bool ala;
};
соответствующий QList: QList tasks;
Мой файл:
QFile theFile("dataBase");
QDataStream stream(&theFile);
stream.setVersion(QDataStream::Qt_4_7);
читать:
theFile.open(QIODevice::ReadOnly);
stream >> tasks;
написать:
theFile.open(QIODevice::WriteOnly);
stream << tasks;
при компиляции в Windows с использованием цепочки инструментов Qt 4.7.3 и GCC 4.4 я получаю следующую ошибку:
c: \ QtSDK \ Desktop \ Qt \ 4.7.3 \ mingw \ include \ QtCore \ qstringlist.h: 46: в файл включен из c: /QtSDK/Desktop/Qt/4.7.3/mingw/include/QtCore /qstringlist.h:46,
c: \ QtSDK \ Desktop \ Qt \ 4.7.3 \ mingw \ include \ QtCore \ qdatastream.h: 250: ошибка: нет совпадения для 'operator >>' в 's >> t'
c: \ QtSDK \ Desktop \ Qt \ 4.7.3 \ mingw \ include \ QtCore \ qdatastream.h: -1: в функции 'QDataStream & operator << (QDataStream &, const QList &) [with T = Task]': </p>
c: \ QtSDK \ Desktop \ Qt \ 4.7.3 \ mingw \ include \ QtCore \ qdatastream.h: 263: ошибка: нет совпадения для 'operator <<' в 's << ((const QList *) l ) -> QList :: at с T = Task '
Хотя перегрузка для операторов << и >> существует, я не могу найти причину этих ошибок .....
Пожалуйста, помогите всем, так как это очень важное приложение, которое я должен сделать
Заранее спасибо ....