我调试了一个代码,并使用 _set_purecall_handler 来设置纯调用虚函数发生时调用的函数。 MSDN的这个例子对我很有帮助并且做我想做的事:code from msdn
所以,你可以看到函数的声明
void myPurecallHandler(void)
{
printf("In _purecall_handler.");
exit(0);
}
这个函数必须返回一个void值并且没有任何参数,当一个纯调用virtuall函数发生时调用这个函数。我试图重载这个函数来传递一个参数(纯粹的调用virtuall函数发生的行号),但不能成功。
如果你看到,那里还有另一个功能: _set_purecall_handler_m
此函数与_set_purecall_handler有什么区别?
非常感谢,
答案 0 :(得分:2)
_set_purecall_handler_m
用于使用C ++和C ++ - CLI时的混合模式CRT。如果您不使用C ++ - CLI,您实际上不需要使用它。但是,如果您正在创建一个可能与C ++ - CLi应用程序一起使用的DLL,您可能需要考虑使用它。