Modo per dichiarare una matrice di puntatori a funzioni in Visual C++

Il supporto di Microsoft Visual C++ .NET 2002 e Microsoft Visual C++ .NET 2003 Nota modello sia il codice gestito fornito da di Microsoft.NET Framework e modello di codice non gestito nativo di Microsoft Windows. Le informazioni contenute in questo articolo si applicano solo al codice di Visual C++ non gestito. Microsoft Visual C++ 2005 supporta sia il modello di codice gestito fornito con il Microsoft.NET Framework e il modello di codice non gestito nativo di Microsoft Windows.

Riepilogo

Nell'esempio riportato di seguito viene illustrato la creazione di una matrice che contiene gli indirizzi di funzione e chiamare tali funzioni.

Codice di esempio

/* * 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");
}

Proprietà

ID articolo: 30580 - Ultima revisione: 30 gen 2017 - Revisione: 1

Feedback