0
我有一個std::map
用作容器的類。我想添加一個函數來在兩個對象之間複製地圖。由於地圖被宣佈爲類的私人成員,因此我需要一個朋友函數來執行此操作。這裏是我的代碼:錯誤,同時複製在類中定義的std :: map
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編譯時有很多警告。我如何正確地做到這一點?
有沒有你不只是使用拷貝構造函數的一個原因?並且,將值傳遞給copyData沒有多大意義。 – Corbin 2012-04-07 04:29:59
我們不應該猜測編譯器給你的警告。提供它們。此外,你的標題說警告,你的帖子說錯誤。這是什麼? – 2012-04-07 04:43:16
您的地圖聲明沒有類型! – IndieProgrammer 2012-04-07 04:56:22