• 締切済み

vector<int> に Serialize を使いたい!!

VC++ の MFI で SDI をやっています。 Doc クラスにある整数のメンバ変数   CArray<int, int> nums を Serialize を使って読込・保存するには void Cなんかの名前Doc::Serialize(CArchive& ar) { if (ar.IsStoring()) { // TODO: 格納するコードをここに追加してください。 nums.Serialize(ar); } else { // TODO: 読み込むコードをここに追加してください。 nums.Serialize(ar); } } とすることができます。 ここで質問です。 もし Doc クラスにある整数のメンバ変数   vector<int> nums についても Serialize を使って同様に読込・保存するには どのように記述したら良いのでしょうか。

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

CArchive& operator<<(CArchive&, const vector<int>&); および CArchive& operator>>(CArchive&, vector<int>&); を多重定義するということでどうでしょうか? より一般的には、 template <class T, class Allocator> CArchive& operator<<(CArchive&, const vector<T, Allocator>&); template <class T, class Allocator> CArchive& operator>>(CArchive&, vector<T, Allocator>&); でしょうね。

k1220011_2005
質問者

お礼

ありがとうございました! 初心者の自分には多重定義は難しそうなので、 もう少し成長してからトライしてみます!!

関連するQ&A

専門家に質問してみよう