#include <stdio.h>
enum bool
{
true, false
};
typedef bool
(*compare_fun) (int, int);
Je reçois une erreur lorsque j'entre le code ci-dessus. Comment faire un pointeur de fonction qui doit retourner un booléen?Comment renvoyer une énumération dans un typedef de pointeur de fonction?
Etes-vous sûr que vous voulez 'vrai, false' dans cet ordre? Vous obtiendriez 'true = 0, false = 1' qui n'est vraiment pas standard. – Benoit
Une raison pour laquelle vous ne pouvez pas utiliser ['stdbool.h'] (http://en.wikipedia.org/wiki/Stdbool.h), qui fait partie de la norme C (C99)? –
Ne jamais déclarer votre propre type booléen, cela provoque des problèmes. Soit utiliser ce que C99 vous donne, à savoir '_Bool' (et' bool', 'true' et' false' de 'stdbool.h' comme le mentionne Matthieu) ou utiliser l'ancienne version et retourner' int'. –