我的任务是写一个组件,提供几种可选的业务模型来调用相应的行为Action,比方说排队系统中的到达.
在我的模型中需要使用timesetEvent这个时钟函数,由它调用需要的动作,因此我的组件接口需要的就是行为Action的函数指针.
问题是timesetEvent中的回调函数是规定的void CALLBACK TimeProcess(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2)形式,而且我自己还有一个计数器函数需要在其中为这种行为计数,所以我想写一个类,把两个函数合并成一个timesetEvent的标准回调函数.
但是它编译通不过,怎么回事?好象是CALLBACK 是静态类型,不能这样使用,怎么办恳请高手指点
//------这个类把两个函数合并成一个timesetEvent的标准回调函数----------------
class FunctionVert
{
private:
void (*funtion1)();
void (*funtion2)();
public:
FunctionVert(void (*Function1)(),void (*Function2)());
void CALLBACK TimeProcess(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2);
};
//---------------------------------------------------------------------------
FunctionVert::FunctionVert(void (*Function1)(),void (*Function2)())
{
function1 = Function1;
function2 = Function2;
}
//---------------------------------------------------------------------------
void CALLBACK FunctionVert::TimeProcess(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2)
{
function1();
function2();
}
--------------------next---------------------
阅读(1389) | 评论(0) | 转发(0) |