First, please make the writing function const. Code: QDataStream &operator<<(QDataStream &out, const Service &service); QDataStream &operator>>(QDataStream &in, Service &service);
QDataStream &operator<<(QDataStream &out, const Service &service); QDataStream &operator>>(QDataStream &in, Service &service);
error: passing ‘const Service’ as ‘this’ argument of ‘QString Service::getName()’ discards qualifiers
The second is, you can only use non-pointer types of Service when exporting the whole QList to a QDataStream. The following would work: Code: QList<Service> services; mystream << services;
QList<Service> services; mystream << services;
If you can't change to non-pointer type, you will have to iterate through the list at your own. Code: QList<Service*> services; mystream << services.size(); foreach(Service* service, services) mystream << *service;
QList<Service*> services; mystream << services.size(); foreach(Service* service, services) mystream << *service;
Edit: Also please stay away from creating QList<>s on the heap