Вопрос

C ++ 03 $ 13,6/1- [...] Если есть авторитетный кандидат с тем же именем и типами параметров, что и встроенная функция оператора кандидата, встроенная функция оператора скрыта и не включена в наборе функций кандидатов ".

Я не уверен насчет намерения этой цитаты из стандарта. Можно ли определить функцию кандидата, определенную пользователем, которая имеет одинаковое имя и тип, как встроенный оператор?

Например, ниже, что явно неправильно.

int operator+(int)

Так что же означает эта цитата?

Это было полезно?

Решение

Просто выберите одного из них в 13.6. Нравиться

Для каждого указателя или типа перечисления существуют функции оператора кандидата в форме

bool operator<(T, T);
bool operator>(T, T);
bool operator<=(T, T);
bool operator>=(T, T);
bool operator==(T, T);
bool operator!=(T, T);

Так

enum Kind { Evil, Good };
bool operator<(Kind a, Kind b) { ... }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top