是的,over.over#note-2(我在阅读this答案时偶然发现的)是什么意思?我真的不明白。
为了上下文,我复制了下面的 over.over#2 的文本:
如果没有目标,则选择所有指定的非模板函数。否则,如果 F(可能应用函数指针转换 ([conv.fctptr]) 后)与 FT 相同,则为目标类型的函数类型 FT 选择类型为 F 的非模板函数。
[注2: 也就是说,当匹配成员函数指针类型时,该函数所属的类将被忽略。 — 尾注]
那么,有人可以给我举一个例子吗“当匹配指向成员函数类型的指针时,该函数所属的类将被忽略”?
我只能大胆猜测
template<auto>
struct A
{
void f() {}
};
struct B : A<0>, A<1>
{
};
void (A<0>::* p)() = &B::f; // ambiguous