170Fermer172
Kevin KoflerLe 08/05/2008 à 00:27
PpHd (./159) :
 case MAY_POW_T:
      ; may_t base = may_expand_recur (MAY_AT(x, 0));

Noter la présence du ';' avant le type 'may_t'. Sans çà, ca compile pas sad (ISO C 99).

Il faut utiliser des accolades quand tu déclares une variable dans un case. Là, tu as un autre problème: la portée de ta variable s'étend jusqu'à la fin de ton switch! En particulier, si tu essaies de faire ça avec un VLA C99 ou un non-POD C++, tu vas avoir une erreur (sauf si c'est le dernier case de ton switch).
La seule utilisation du mot clé 'auto' que je connaisse (et une GNU C extension bien pratique).

Utilisation inutile parce que ta fonction imbriquée n'a pas besoin d'être déclarée à l'avance, et auto n'est nécessaire que pour les prototypes de fonctions imbriquées, pas pour les définitions.
typedef int T[3][3];

int g(const T x);

AMHA, ce n'est pas du tout ce que tu veux, tu veux probablement un const int x[3][3], c'est-à-dire que tes données dans le tableau sont const, pas le tableau x lui-même.