我正在寻找来自 Stadard 的引用描述以下行为:
以下规则用于conversion-type-id
查找 (3.4.6/7):
如果 id-expression 是转换函数 ID,则首先在对象表达式的类中查找其转换类型 ID,如果找到,则使用名称。否则在整个后缀表达式的上下文中查找它。
考虑以下示例:
#include <iostream>
class J{ public: static const char a = 'j'; };
typedef J Y;
class C
{
public:
operator Y(){ std::cout << Y::a; }
};
int main()
{
typedef Y Z;
C *c= new C();
c -> operator Z(); //C::operator Y is invoked
}
我不明白。上面的引用没有描述这种行为。它描述了conversion-type-id
唯一的查找,但没有描述它conversion-function-id
本身。
查找规则是 conversion-function-id
什么?