私はベクトルと構造体を取り込み、その構造体をベクトルに挿入するテンプレート関数を書いています。ただし、ベクトルに重複する構造体がある場合、値はすべて一意でなければならないため、関数は構造体を挿入しません。これを行うために、STLライブラリのfind関数を使用して、operator==
を使用して戻り値を分析しています。マイテンプレート関数は以下見ることができます演算子==テンプレート関数では機能しません
error: no match for 'operator==' (operand types are 'OneToOneMap' and'OneToOneMap')|
:
template<typename Type> void AddToList(vector<Type> add_to, Type to_insert){
bool contains_element = *find(add_to.begin(), add_to.end(), to_insert) == *add_to.end() ? false:true;
if(contains_element){
cout << "Element is already in list" << endl;
}else{
add_to.push_back(to_insert);
}
}
関連のないプログラミング言語にタグを付けないでください。 –
あなたの質問は何ですか? – juanchopanza
さて、あなたは 'OneToOneMap'クラスの' operator == 'をオーバーロードしていないと思いますか? – ArchbishopOfBanterbury