1
持つMyClassの:QPolygonFは、私が過負荷演算子Qtシリアル化。 QDataStream&ベース・クラスのためのオペレータは<< QPolygonF
QDataStream& operator<< (QDataStream & stream, const QPolygonF & polygon)
を呼び出し
void bin_write(QDataStream & out) const
{
out << (BASE CLASS QPOLYGONF)*this ??
}
を作成したいと思い、私はそのメソッドを呼び出すためにそれを伝える方法を知らない
。
任意の異なるで(QPolygonF)*これと、あなたはstatic_castで何を言いますか? –
私は自分の間違い、QPolygonとQPolygonを分かったと思います。参照として渡すのを忘れました –
@ s093294 static_castはあなたの心を変えて、あなたのクラスがQPolygonFをもう継承しないようにしたので、もっと安全です(例:QPolygonまたは独自のポリゴンタイプ)。そのキャストは失敗し、コンパイラエラーが発生しますが、Cスタイルのキャストは成功し、未定義の動作を引き起こします(おそらく混乱するクラッシュ)。また、ポインタアドレスの代わりに参照を使って作業したいのは、あなたが目標としているものではないと仮定しているポリゴンデータではなくポインタアドレスを出力することです。 – stinky472