2016-04-30 11 views
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つの質問がある:
私は< <を定義する必要がありますどのように

  1. 正しい作業のための>>演算子;
  2. このコードが正しい場合、リンクエラーを修正する方法。


回答のためのTnx。

答えて

0

非常に奇妙ですが、機能のアナウンスと説明を分割することで問題は解決しました。

関連する問題