Lỗi:
lỗi C2678: nhị phân '==': không có nhà điều hành tìm thấy trong đó có một toán hạng trái của loại 'entry const' (hoặc không có chuyển đổi có thể chấp nhận)C++ lỗi lớp mẫu với toán tử ==
chức năng:
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;
}
đây có phải là giả sử là một nhà điều hành quá tải? Là một lớp mẫu tôi không chắc chắn tôi hiểu lỗi?
Solution- Chức năng quá tải trong lớp const nay tuyên bố:
//Operators
bool entry::operator == (const entry& dE) const <--
{
return (name ==dE.name);
}
http://stackoverflow.com/a/38887476/1599699 – Andrew