Bonjour, j'ai un soucis sur un pointeur de fonction. Voici mon code pour expliquer mon problème (la balise CODE ne marche pas sur mon PC...)
Merci d'avance et excusez-moi encore du fait que la balise CODE ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 class A { private : int * ordi; // les 6 cases du camp de l'ordinateur int * hum; // les 6 cases du camp de l'humain int * ordi_hum; // les 6 cases du camp de l'ordinateur suivies des 6 cases du camp de l'humain public : int nbpionordinateur(void); int nbpionhumain(void); + d'autres fonctions } ordi_hum est un tableau à 12 éléments, et ordi=&ordi_hum[0]; hum=&ordi_hum[6]; class B { A a; il y a d'autres champs public : int toto(void); + d'autres fonctions } A la fin de mon fichier B.h j'ai ceci : typedef int (*nbpionsjoueur)(void); voici mon problème : dans mon fichier b.cpp : Etat Partie::Jouer(Joueur jou,int n) { Joueur joueur1, joueur2; int * camp1, * camp2; nbpionsjoueur nbpionsjoueur1, nbpionsjoueur2; int numcase[6]; int i,sum=0,sem,nbgraines; if(jou==ORDINATEUR) { joueur1=ORDINATEUR; joueur2=HUMAIN; camp1=moncale.getcampordi(); camp2=moncale.getcamphum(); nbpionsjoueur1 = a.nbpionordinateur(); // ici ca plante : comment faire un pointeur de fonctions ?? nbpionsjoueur2 = a.nbpionhumain(); } else { joueur1=HUMAIN; joueur2=ORDINATEUR; camp1=moncale.getcamphum(); camp2=moncale.getcampordi(); nbpionsjoueur1 = a.nbpionhumain(); nbpionsjoueur2 = a.nbpionordinateur(); } blabla }
Partager