Если вы хотите сравнить два индекса, переместите перегрузку в структуру index
:
struct index{
int x;
int y;
int z;
bool operator<(const index& a) const;
};
Если вы хотите сравнить Foo
и index
(я сомневаюсь в этом, но на всякий случай поставлю это здесь), удалите второй параметр, так как он не нужен:
class Foo{
//...
bool operator<(const index& a) const;
};
Обратите внимание, что вы должны передать параметр index
по ссылке, чтобы предотвратить ненужное копирование.
РЕДАКТИРОВАТЬ: Как правильно указал Als, этот оператор должен быть const
.