我有一個類C
,它沒有定義operator=
。我試圖使用像這樣的矢量:std::vector<std::pair<C,D>> vec;
。現在,我的問題是,我完成後無法擦除這對。編譯器抱怨C
缺少operator=
。我能否擁有一個沒有這個操作符的類的向量?我如何解決這個問題?我無法將作業添加到C
。這是錯誤我得到:std :: vector :: erase(item)需要賦值運算符來定義item?
error C2582: 'operator =' function is unavailable in 'C' C:\...\include\utility 196 1 my-lib
這是我的代碼:
void Remove(const C& c)
{
auto i = cs_.begin();
while(i != cs_.end()) {
if (i->first == c) {
cs_.erase(i); // this is the problem
break;
}
i++;
}
}
其中cs_
是:
代寫您想要刪除的代碼 – UldisK