3

API ドキュメントから:

qRegisterMetaType() および qRegisterMetaTypeStreamOperators() を使用して登録されたカスタム タイプは、QSettings を使用して保存できます。

どうやってやるの?エラーが発生します:

のテンプレート パラメータ リストが少なすぎますqRegisterMetaTypeStreamOperators

私のコード:

class LineUser {
public:
    int uId;
    QString passwd;
    qint8 statusType;
};

Q_DECLARE_METATYPE(LineUser)
QDataStream &operator<<(QDataStream &out, const LineUser &myObj) {
    out<<myObj.uId<<myObj.passwd<<myObj.statusType;
    return out;
}
QDataStream &operator>>(QDataStream &in, LineUser &myObj) {
    in>>myObj.uId>>myObj.passwd>>myObj.statusType;
    return in;
}
qRegisterMetaTypeStreamOperators<LineUser>("LineUser");
4

1 に答える 1

4

qRegisterMetaTypeStreamOperatorsマクロではなく関数です。

main() メソッドなどで、.cpp ファイルから呼び出す必要があります。

于 2012-07-13T08:18:04.583 に答える