Oblavioon / bash-adventure2

0 stars 0 forks source link

Problème de pointeur de tableau de fonction : #2

Open Oblavioon opened 2 years ago

Oblavioon commented 2 years ago

Bonsoir,

un soucis au niveau de notre pointeur de tableau de fonction.... Je n'ai pas trouvé de l'aide, auriez-vous une idée ?

`run.c:16:102: warning: incompatible function pointer types initializing 'void ()(Player , Enemy , ListePlayer , ListeEnemy )' (aka 'void ()(struct Player , struct Enemy , struct ListePlayer , struct ListeEnemy )') with an expression of type 'void (Player , Enemy )' (aka 'void (struct Player , struct Enemy )') [-Wincompatible-function-pointer-types] void (*plateau[2])(Player ppj, Enemy ppe, ListePlayer ppl, ListeEnemy pple) = {pVerdoyante, salleBoss}; ^~~~~

run.c:40:17: warning: expression result unused [-Wunused-value] plateau[indice];



2 warnings generated.`

Voici nos warning, la cause n'a pas été trouvée....
Oblavioon commented 2 years ago

Le problème :

run.c:16:102: warning: incompatible function pointer types initializing 'void ()(Player , Enemy , ListePlayer , ListeEnemy )' (aka 'void ()(struct Player , struct Enemy , struct ListePlayer , struct ListeEnemy )') with an expression of type 'void (Player , Enemy )' (aka 'void (struct Player , struct Enemy )') [-Wincompatible-function-pointer-types] void (*plateau[2])(Player ppj, Enemy ppe, ListePlayer ppl, ListeEnemy pple) = {pVerdoyante, salleBoss};

a été résolu, l'erreur venait de la fonction salleBosse qui ne contenait pas les mêmes paramètres que la fonction pVerdoyante...

Alors le seul problème que nous rencontrons en ce moment est : run.c:40:17: warning: expression result unused [-Wunused-value] plateau[indice];

mclergue commented 2 years ago

Ben c'est assez clair. Vous n'utilisez pas la fonction dans le tableau ... pour utilisez un pointeur de fonction dans un tableau : plateauindice;

avec les paramètres de la fonction à la place de ...

MrCdric commented 2 years ago

Merci de nous avoir répondu.

MrCdric commented 2 years ago

void (*plateau[2])(Player ppj, Enemy ppe, ListePlayer ppl, ListeEnemy pple) = {pVerdoyante, salleBoss}; plateau[indice]( ppj, ppe, ppl, pple); ;-)