65,210
社区成员
发帖
与我相关
我的任务
分享
//lthyxy: 果然很罪恶的代码,张见识了~
#include <iostream>
using namespace std;
class A
{
public:
int i;
void test()
{
cout<<"test"<<endl;
cout<<i<<endl;
}
A():i(11111){}
};
void pthread_create(A* a,void(*p)())
{
int thisPtr=(int)a;
__asm{mov ecx, thisPtr}
p();
}
void Test()
{
cout<<"Test"<<endl;
}
int main()
{
A a;
void (A::* Afcn)()=&A::test;
pthread_create(&a,(void(*)())*(int*)&Afcn);
pthread_create(0,Test);
return 0;
}
#include <iostream>
using namespace std;
class A
{
public: void test() {cout<<"test"<<endl;}
};
typedef void (A::* Afcn)();
void pthread_create(A& a,Afcn pa=&A::test)
{
(a.*pa)();
}
int main()
{
A a;
pthread_create(a);
getchar();
return 0;
}