64,653
社区成员
发帖
与我相关
我的任务
分享
class Clazz
{
public:
void foo(void)
{
//...
}
void foo(int n)
{
//..
}
};
#include<iostream>
class Clazz
{
public:
void foo(void)
{
//...
}
void foo(int n)
{
//..
}
};
int main() {
void (Clazz:: * p1)(void) = Clazz::foo;
void (Clazz:: * p2)(int) = Clazz::foo;
Clazz c;
(c.*p1)();
(c.*p2)(1);
}
typedef void(A::*P_A)(int);
auto m_func = std::bind((P_A)&A::foo, &a, std::placeholders::_1);
m_func(10);
这样是不是就好看了点
虽然长了点
#include<iostream>
class Clazz
{
public:
void foo(void)
{
//...
}
void foo(int n)
{
//..
}
};
int main() {
void (Clazz:: * p1)(void) = Clazz::foo;
void (Clazz:: * p1)(int) = Clazz::foo;
}
typedef void(A::*P_A)(int);
P_A pa = &A::fun;
(a.*pa)(10); //不会报 warning