class CallbkTest
{
public:
CallbkTest()
{
}
using myCBK = std::function<void()>;
using myCBKParmer = std::function<void(int a,int b)>; //先声明
void doit()
{
_mycbk();
}
void doitParmer(int a,int b)
{
_mycbkParmer(a, b);
}
void setCbk(myCBK cb)
{
_mycbk = cb;
}
void setCbkParmer(myCBKParmer cb)
{
_mycbkParmer = cb;
}
private:
myCBK _mycbk;
myCBKParmer _mycbkParmer;
};
void main()
{
CallbkTest cbt;
cbt.setCbk([] {
std::cout << 1 << std::endl;
});
cbt.doit();
int c = 101; //需要传入的参数写进[]里
cbt.setCbkParmer([c](int a, int b) {
std::cout << a + b + c << std::endl;
});
cbt.doitParmer(1, 2);
return;
}
08-10
1338
