invalid conversion from int to int* fpermissive
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 :
Code:
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 "
} |
Et voici ma fonction partitionner :
Code:
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;
} |
Il est probable qu'il y est d'autres erreurs .... mais à force de toucher à tout :lol:
Merci pour votre aide !!!