J'ai regardé mais je n'ai pas trouvé de référence directe pour cette question. Je suis nouveau à des pointeurs de fonction (et C), donc je ne connais pas tous les trucs qu'on peut faire encore :)Est-ce une façon correcte de passer une fonction dans une structure?
J'ai effectivement eu une fonction:
void select_comparator(My_Struct *structure, int (*comp)(int x, int y)) {
...
... où My_Struct
a prototype:
typedef struct my_struct {
int (*comp)(int x, int y);
} My_Struct;
Modulo quelques petits détails. Je veux juste savoir si ce qui suit est la syntaxe correcte:
void select_comparator(My_Struct *structure, int (*comp)(int x, int y)) {
structure->comp = comp;
}
Il semble presque trop facile, et je suis inquiet qu'il est.
Merci pour l'astuce concernant les types de retour! En fait, cela va être pertinent, parce que je travaille sur un grand projet .... – Chris