1

我调试代码,并使用_set_purecall_handler设置纯调用虚函数发生时调用的函数。这个来自 MSDN 的例子对我来说很好,可以做我想做的事:来自 msdn 的代码
所以,你可以看到函数的声明

    void myPurecallHandler(void)
    {
     printf("In _purecall_handler.");
     exit(0);
    }

这个函数必须返回一个 void 值并且没有任何参数,这个函数在一个纯调用 virtuall 函数发生时被调用。我试图重载这个函数来传递一个参数(纯调用 virtuall 函数发生的行号),但不能成功。
如果你看到,那里还有另一个函数:_set_purecall_handler_m
这个函数和_set_purecall_handler有什么区别?

非常感谢,

4

1 回答 1

2

_set_purecall_handler_m用于在使用 C++ 和 C++-CLI 时与混合模式 CRT 一起使用。如果你不使用 C++-CLI,你真的不需要使用它。但是,如果您正在创建一个可以与 C++-CLi 应用程序一起使用的 DLL,您可能需要考虑使用它。

于 2013-06-14T23:30:41.183 回答