如何选择正确的error()成员函数?我需要以某种方式转换吗?
using namespace std;
struct test
{
int error();
void error(int x);
int fun();
};
int main() {
auto f1 = &test::error; // how to pick the correct function?
auto f2 = &test::fun; // works
}
最佳答案
你可以明确指定成员函数指针类型。
int (test::*f1)() = &test::error;
void (test::*f2)(int) = &test::error;
关于C++ 成员函数用 &(& 符号)重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35984788/