this is my qlist: car *&list
This is not a QList<car>. It isn't even a QList< car * >. It is a reference to a pointer to a "car" instance. So calling "in >> cars" can't possibly call this method if "cars" is actually a QList<car>, because the QDataStream operator you have defined doesn't match the required function signature.

So what does your code really look like? What you have posted isn't complete enough.