2016-10-05 1 views

Répondre

4

f est un alias pour un type de fonction qui prend int comme argument et renvoie un int*.

En tant que tel, il n'est pas particulièrement utile.

(Si vous voulez f être un pointeur à une fonction qui prend une int et retourne un int, vous devriez écrire typedef int (*f)(int);)

+0

Style pick-nit: le style de l'OP est en fait très utile pour les personnes qui préfèrent un style cohérent quand ils travaillent avec n'importe quel type de pointeurs. Si vous utilisez le typedef de l'OP, vous pouvez déclarer une variable de pointeur de fonction comme 'f * ptr;'. Plutôt que de cacher le pointeur derrière typedef comme dans votre cas, et finir avec la déclaration plus mystérieuse 'f ptr; – Lundin

1
typedef int* f(int); 

Type f est fonction avec int paramètres et renvoyer le pointeur sur int.

Vous ne pouvez pas définir une fonction en utilisant un typedef pour un type de fonction. veuillez voir la réponse stack overflow.