When you want to write/read a QList using operator>>()/operator<<(), as the doc says, the type of the QList must also implement the SAME operator.
Which means that except Qt's included types (quint, QString, QByteArray, ...), you need to provide such an operator for your type.
I see you have provided one, and you're pointing out a problem when using it on another QList (line 8: list->register). Is there a stream operator defined for the type of element in list->register ?