64,641
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <windows.h>
static void CB_Test(int& n,int(*p)(int& k));
enum{
Wrong_Status = 0,
Right_Status,
};
int iStatus;
int iTest(int& iret)
{
iret = iStatus;
printf("The call back value iret = %d\n",iret);
Sleep(1000);
return iret;
}
//callback function
static void CB_Test(int& n,int(*p)(int& k))
{
(*p)(n);
}
void iWrong()
{
iStatus = Wrong_Status;
}
int main()
{
iStatus = Right_Status;
int j = 0;
CB_Test(j,iTest);
printf("The j1 = %d\n",j);
iWrong();
printf("The j2 = %d\n",j);
CB_Test(j,iTest);
printf("The j3 = %d\n",j);
return 0;
}
void iWrong()
{
iStatus = Wrong_Status;
int j = 0;
CB_Test(j,iTest);
}