Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

_set_purecall_handler

Establece el controlador de una llamada de función virtual pura.

_purecall_handler _set_purecall_handler(     _purecall_handler function );

function

Función a la que se llamará cuando se llame a una función virtual pura. Una función _purecall_handler debe tener un tipo de valor devuelto void.

_purecall_handler anterior. Devuelve NULL si no había controlador anterior.

Use _set_purecall_handler si quiere detectar funciones virtuales puras e informar al usuario al respecto de una forma específica o bien detectarlas con fines de depuración.

Como hay un _purecall_handler para todo el proceso, llamar a esta función tiene un impacto inmediato en todos los subprocesos. El último que llama en cualquiera de los subprocesos establece el controlador.

Solo hay un controlador _set_purecall_handler para todos los ejecutables y DLL vinculados dinámicamente; incluso si se llama a _set_purecall_handler, es posible que el controlador se reemplace por otro establecido por otro ejecutable o DLL.

Para restaurar el comportamiento predeterminado, llame a _set_purecall_handler con un argumento NULL.

Rutina

Encabezado necesario

_set_purecall_handler

<stdlib.h>

Para obtener más información de compatibilidad, vea Compatibilidad en la Introducción.

// _set_purecall_handler.cpp
// compile with: /W1
#include <tchar.h>
#include <stdio.h>
#include <stdlib.h>

class CDerived;
class CBase
{
public:
   CBase(CDerived *derived): m_pDerived(derived) {};
   ~CBase();
   virtual void function(void) = 0;

   CDerived * m_pDerived;
};

class CDerived : public CBase
{
public:
   CDerived() : CBase(this) {};   // C4355
   virtual void function(void) {};
};

CBase::~CBase()
{
   m_pDerived -> function();
}

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

int _tmain(int argc, _TCHAR* argv[])
{
   _set_purecall_handler(myPurecallHandler);
   CDerived myDerived;
}
In _purecall_handler.

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft