Voila j'utilise des vector pour tenter de modifier la taille d'un tableau (en fait je veux écrire un fonction d'insertion) mais mon code génère des erreurs que je ne comprend 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
void InsererDansTableau(long *tableau, long tailleTableau, long ajout,long ouAjouter)
{
    long i;
    std::vector<long> tableau2;
    tableau2.resize(tailleTableau,0);
*   copie(tableau,tableau2,tailleTableau);
*   tableau.resize(tailleTableau + 1, 0);
 
    FOR(i,ouAjouter-1)
    {tableau[i]=tableau2[i];}
 
    tableau[ouAjouter]=ajout;
 
    for(i=ouAjouter;i<tailleTableau;i++)
    {tableau[i+1]=tableau2[i];}
 
 
}
les deux lignes avec des étoiles génèrentles erreur, la première renvoi

error: cannot convert `std::vector<long int, std::allocator<long int> >' to `long int*' for argument `2' to `void copie(long int*, long int*, long int)'
et la deuxième

error: request for member `resize' in `tableau', which is of non-class type `long int*'
Process terminated with status 1