18 {19 callFunc((funcPointer)testFunc);20 getchar();21 }
在第12行代码定义的callFunc函数,它的参数是一个“返回值为void,参数为一个int型的函数指针”,并在内部调用这个函数指针传实参为1。
在地5行代码定义了函数testFunc,它的参数为两个int,同时为它定义了__stdcall的调用约定。
在main函数的19行中进行调用的时候,对testFunc使用了(funcPointer)进行强行类型转换,并将它传入callFunc作为实参进行调用。
在x86平台Debug版本运行这段程序的结果如下: