std::map
コンテナとして使用されるクラスがあります。2 つのオブジェクト間でマップをコピーする機能を追加したいと考えています。マップはクラスのプライベート メンバーとして宣言されているため、そのためにはフレンド関数が必要です。これが私のコードです:
class Data;
void copyData(Data &, Data &);
class Data
{
private:
map<int, int> _data;
public:
friend void copyData(Data &, Data&);
};
void copyData(Data &a, Data &b)
{
std::copy(a._data.begin(), a._data.end(), b._data.begin());
}
main()
{
// initialization here
Data A, B;
copyData(A, B);
}
しかし、mingw32 でコンパイル中に多くの警告が表示されます。これを正しく行うにはどうすればよいですか?