Cómo declarar una matriz de punteros a funciones en Visual C++

Nota Microsoft Visual C++ .NET 2002 y Visual C++ .NET 2003 proporciona compatibilidad con el modelo tanto en el código administrado el Microsoft.NET Framework y el modelo de código no administrado nativo de Microsoft Windows. La información de este artículo sólo se aplica a código no administrado de Visual C++. Microsoft Visual C++ 2005 admite el modelo de código administrado que es proporcionado por el Microsoft.NET Framework y el modelo de código nativo Microsoft Windows no administrado.

Resumen

En el siguiente ejemplo muestra cómo crear una matriz que contiene las direcciones de función y llamar a esas funciones.

Código de ejemplo

/* * Compile options needed: none
*/

#include <stdio.h>

void test1();
void test2(); /* Prototypes */
void test3();

/* array with three functions */
void (*functptr[])() = { test1, test2, test3 } ;

void main()
{
(*functptr[0])(); /* Call first function */
(*functptr[1])(); /* Call second function */
(*functptr[2])(); /* Call third function */
}

void test1()
{
printf("hello 0\n");
}

void test2()
{
printf("hello 1\n");
}

void test3()
{
printf("hello 2\n");
}

Propiedades

Id. de artículo: 30580 - Última revisión: 22/01/2017 - Revisión: 1

Comentarios