変数に関する情報、つまり名前と番号を含む構造体を作成しました
struct var{
string name;
int value;
};
ここで、次の関数を使用して、イテレーターを使用して更新します。
void updateVariable(vector<Variable>& vars,Variable& newVar){
vector<Variable>::iterator it = find(vars.begin(), vars.end(), newVar);
if(it == vars.end()){
vars.push_back(newVar);
}
else{
*it = newVar;
}
}
念のために言っておきますが、私が得ているエラーは、find()の呼び出しの行にあります。エラーが発生する理由はありますか?エラーは次のとおりです。
/usr/include/c++/4.6/bits/stl_algo.h:162:4: error: no match for ‘operator==’ in ‘__first.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator* [with _Iterator = Variable*, _Container = std::vector<Variable>, __gnu_cxx::__normal_iterator<_Iterator, _Container>::reference = Variable&]() == __val’
アップデート:
迅速なサポートと明確な回答をありがとうございました。