Bonjour � tous !
Je rencontre une erreur "invalid conversion" lors du lancement de mon programme.
Celle ci intervient lorsque j'appelle ma fonction, d'ailleurs le probl�me se pose �galement lors de l'appelle d'une autre fonction. Bref je n'arrive � r�soudre le probl�me
voici le code :
Et voici ma fonction partitionner :
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 int triRapide (int vec[],int premier, int dernier ){ // declaration variable int pivot int pivot; // test de larrêt qui se fait quand premier nest plus inférieur à dernier. if (vec[premier] >= vec[dernier]){ return pivot; }else{ pivot = 4; } // valoriser la varibale pivot pivot = partitionner(vec[pivot], premier, dernier, pivot); // <----- problème ici "invalid conversion from int to int* fpermissive " // appel deux fois de triRapide à pivot -1 et pivot +1 triRapide(vec[pivot-1], premier,dernier); // <----- probleme ici "invalid conversion from int to int* fpermissive " triRapide(vec[pivot+1], premier,dernier); // < ----- et ici "invalid conversion from int to int* fpermissive " }
Il est probable qu'il y est d'autres erreurs .... mais � force de toucher � tout
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 int partitionner (int vec[],int premier, int dernier, int &pivot){ // Echange dernier et pivot echanger (dernier, pivot); // j initialisé à l'indice de la premiere case int j = 0; //boucle faisant varier un i du premier au dernier element for (int i = 0; i <= dernier; i++) { // si i < au dernoer element if (vec[i] < vec[dernier]) { // alors echange le ième avec le jieme echanger(vec[i],vec[j]); //incremente j j++; } } // remplacer le jème avec le dernier et retourner j echanger(vec[j], vec[dernier]); return j; }
Merci pour votre aide !!!
Partager