0
Мне нужно переопределить >> и < < операторов QDataStream. Там мой код:
Правильное переопределение операторов QDataStream и проблем с связыванием
QDataStream &operator <<(QDataStream &out, const SScenarioEntry Entry)
{
out.writeRawData(Entry.EntryName, sizeof(Entry.EntryName));
out << Entry.Number;
out << Entry.Type;
out.writeRawData(Entry.RequestString, sizeof(Entry.RequestString));
out.writeRawData(Entry.AnswerString, sizeof(Entry.AnswerString));
out.writeRawData(Entry.AdditionalParams, sizeof(Entry.AdditionalParams));
out << Entry.Timeout;
return out;
}
QDataStream &operator >>(QDataStream &in, SScenarioEntry Entry)
{
in.readRawData(Entry.EntryName, sizeof(Entry.EntryName));
in >> Entry.Number;
in >> Entry.Type;
in.readRawData(Entry.RequestString, sizeof(Entry.RequestString));
in.readRawData(Entry.AnswerString, sizeof(Entry.AnswerString));
in.readRawData(Entry.AdditionalParams, sizeof(Entry.AdditionalParams));
in >> Entry.Timeout;
return in;
}
После успешной компиляции, я получаю некоторые misunderstandable ошибки, как это:
first define here
In function `Z7qt_noopv':
multiple definition of `operator>>(QDataStream&, scnent)`
У меня 2 вопроса:
- Как я должен определить < < и >> операторы для правильной работы;
- Если этот код верен, как исправить ошибки связывания.
Tnx для ответов.