Erreur:
erreur C2678: binaire « == »: aucun opérateur trouvé qui prend un opérande gauche de type « entrée const » (ou il n'y a pas de conversion acceptable)C++ erreur de classe de modèle avec l'opérateur ==
La fonction:
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;
}
est-ce supposé être un opérateur surchargé? Étant un cours de modèle, je ne suis pas sûr de comprendre l'erreur?
Solution- La fonction de surcharge dans la classe maintenant déclarée const:
//Operators
bool entry::operator == (const entry& dE) const <--
{
return (name ==dE.name);
}
http://stackoverflow.com/a/38887476/1599699 – Andrew