5256Fermer5258
TronLe 23/03/2016 à 10:46
Question à la con : pourquoi GCC me prend t'il pour un con ?

J'ai un tableau de pointeur de fonction :

typedef int (*INT_VOID_fct_ptr) (void);

int test1(void) { return 1; }
int test2(void) { return 2; }

static const INT_VOID_fct_ptr k[] = { &test1, &test2 };

Je veux exécuter une fonction :

int main(void)
{
  int i, add = 0;
  INT_VOID_fct_ptr l = &k; // Simule un tableau de pointeur de pointeur de fonction

  for (i = 0; i < sizeof(k)/sizeof(INT_VOID_fct_ptr); i++) // idéalement (i = 0; l[i] != 0; i++)
    add += l[i]();

  return add;
}

Voilà ce qu'il me répond :

    add += l[i]();
            ^
error: subscripted value is pointer to function

No shit, Sherlock ? Et donc tu me proposes quoi ?

Je viens déjà de me coller les bugs 25137 et 53119 (résolus seulement dans 5.x) donc me dites pas que c'en est un autre.