over.over#note-2 的含义是什么?

问题描述 投票:0回答:1

是的,over.over#note-2(我在阅读this答案时偶然发现的)是什么意思?我真的不明白。

为了上下文,我复制了下面的 over.over#2 的文本:

如果没有目标,则选择所有指定的非模板函数。否则,如果 F(可能应用函数指针转换 ([conv.fctptr]) 后)与 FT 相同,则为目标类型的函数类型 FT 选择类型为 F 的非模板函数。

[注2: 也就是说,当匹配成员函数指针类型时,该函数所属的类将被忽略。 — 尾注]

那么,有人可以给我举一个例子吗“当匹配指向成员函数类型的指针时,该函数所属的类将被忽略”

c++ language-lawyer c++20 overload-resolution
1个回答
0
投票

我只能大胆猜测

template<auto>
struct A
{
    void f() {}
};

struct B : A<0>, A<1>
{
};

void (A<0>::* p)() = &B::f;  // ambiguous
© www.soinside.com 2019 - 2024. All rights reserved.