Ошибка компилятора C2803
Оператор оператора должен иметь по крайней мере один формальный параметр типа класса
Перегруженный оператор не имеет параметра типа класса.
Необходимо передать по крайней мере один параметр по ссылке (не с помощью указателей, но ссылок) или по значению, чтобы иметь возможность записи "a" (a < и b типа A).
Если оба параметра являются указателями, это будет чистое сравнение адресов указателя и не будет использовать определяемое пользователем преобразование.
Следующий пример приводит к возникновению ошибки C2803:
// C2803.cpp
// compile with: /c
class A{};
bool operator< (const A *left, const A *right); // C2803
// try the following line instead
// bool operator< (const A& left, const A& right);