函数匹配与重载运算符二义性
重载运算符与函数匹配
重载的运算符本质上是重载的函数,因此函数匹配规则同样适用。但是,由于重载运算符在表达式中使用时无法区分是成员函数还是非成员函数,会导致候选函数集的规模变大,进而可能引发二义性。
二义性情况
可能导致二义性的情况:
- 运算符既有成员函数版本,也有非成员函数版本
- 既有转换目标是算术类型的类型转换,也有重载运算符
解决方法
评论
重载的运算符本质上是重载的函数,因此函数匹配规则同样适用。但是,由于重载运算符在表达式中使用时无法区分是成员函数还是非成员函数,会导致候选函数集的规模变大,进而可能引发二义性。
可能导致二义性的情况: