Указатель является собственным типом C ++, и вы можете перегружать операторы только для пользовательских типов (то есть классов).
Если бы это было возможно, это нарушило бы принцип «наименьшего удивления» и приводило бы к тому, что сравнения указателей ведут себя по-разному в зависимости от того, было ли ваше определение видимым. Это, вероятно, очень запутанно.
Если вы хотите использовать альтернативное сравнение для использования в контейнере или с алгоритмами, обратите внимание, что вы можете обеспечить замену по умолчанию std::less
в большинстве ассоциативных контейнеров и алгоритмов, которые требуют частичного заказа.