エラー:
エラー C2678: バイナリ '==' : 型 'const entry' の左側のオペランドを取る演算子が見つかりません (または、受け入れ可能な変換がありません)
関数:
template <class T, int maxSize>
int indexList<T, maxSize>::search(const T& target) const
{
for (int i = 0; i < maxSize; i++)
if (elements[i] == target) //ERROR???
return i; // target found at position i
// target not found
return -1;
}
これはオーバーロードされた演算子であると思われますか? テンプレートクラスであるため、エラーを理解しているかどうかわかりませんか?
解決策 - クラスのオーバーロード関数が const として宣言されるようになりました:
//Operators
bool entry::operator == (const entry& dE) const <--
{
return (name ==dE.name);
}