C ++ 03 $ 13.6 / 1-“[...]如果有的话 用户编写的候选人 名称和参数类型作为内置 候选运算符函数 内置的操作员功能是隐藏的 并且不包括在集合中 候选人职能。“
我不确定标准的引用意图。是否可以定义与内置运算符具有相同名称和类型的用户定义候选函数?
e.g。以下是明显错误的。
int operator+(int)
那么这句话是什么意思?
答案 0 :(得分:1)
选择13.6中的一个。像
对于每个指针或枚举类型T,存在格式为
的候选运算符函数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) { ... }