Déclarer un tableau de pointeurs vers des fonctions dans Visual C++

Version d’origine du produit : Visual C++
Numéro de la base de connaissances d’origine : 30580

Cet article explique comment déclarer un tableau de pointeurs vers des fonctions dans Visual C++. Les informations contenues dans cet article s’appliquent uniquement au code Visual C++ non managé.

L’exemple de code ci-dessous illustre la création d’un tableau qui contient des adresses de fonction et l’appel de ces fonctions.

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