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 : 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 l’arrêt qui se fait quand premier n’est 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 : 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;
 
 
}
Il est probable qu'il y est d'autres erreurs .... mais à force de toucher à tout

Merci pour votre aide !!!