如果放到类里面,那么就必须象回调函数一样,给出一个参数(arg)
这样,在类里写一个static function就可以了。
也就是说,除了g_fpErrMsgProcessor还有一个g_fpErrMsgArg如果不想这样,
你在一个cpp源文件里以,生成一个实例
MyClass myErrProcessor;
你的函数默认使用这个实例。
这样,在类里写一个static function就可以了。
也就是说,除了g_fpErrMsgProcessor还有一个g_fpErrMsgArg如果不想这样,
你在一个cpp源文件里以,生成一个实例
MyClass myErrProcessor;
你的函数默认使用这个实例。
这是个办法
不过由于错误处理通常还有有很多报告之类的东西,比如给出对话框,或在界面上显示,或存盘,或者在状态栏上给出提示等,这样就极不好扩展,对不?
{
public:
static int global_handler(void * arg, char *);
private:
virual int internal_handler(char *);
};/*CPP*/
BaseHandler::global_hander(void * arg, char * msg)
{
return static_cast<BaseHandler *>(arg)-> internal_handler(msg);
}通过派生出新的类就可以随意扩展。
[email protected]