Problème avec vector<char>
Salut,
J'ai un pb dont je n'ai pas pu résoudre.
En fait j'utilise un vecteur de caractère pour stocker des variables sous forme de caractères.
Lors de la compilation j'obtient une chose dont je ne comprends pas.
main.o: In function `automate::ajouter_noeud(std::vector<noeud*, std::allocator<noeud*> >, int, noeud*)':
main.cpp:(.text+0xddb): undefined reference to `automate::chercher_trans(std::vector<noeud*, std::allocator<noeud*> >, std::vector<char, std::allocator<char> >&, int, char)'
collect2: ld a retourné 1 code d'état d'exécution
make: *** [liste2] Erreur 1
Voila ce que j'utilise comme code:
Declaration:
void chercher_trans(vector<noeud*> tab,vector<char> tab1,int m,char c);
Appel:
Code:
1 2 3 4 5 6 7 8
| void automate::ajouter_noeud(vector<noeud*> tab,int m,noeud *e)
{
char c;bool trouve=false;
vector<char> tab1;
noeud *e2=NULL;noeud *e3=NULL;
cout<<"choisir le type de noeud à ajouter ""i"" pour input et ""o"" pour output \n";
cin>>c;
chercher_trans(tab,tab1,m,c); .... |
Utilisation:
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
| void chercher_trans(vector<noeud*> tab,vector<char> &tab1,int m,char c)
{
noeud *e1=NULL;noeud *e2;
e1=tab[m-1];
if(c=='i')
{
while(e1->suiv1 !=NULL)
{
e2=e1->suiv1;
e1=e2;
tab1.push_back(e1->a);
}
}
else if(c=='o')
{
while(e1->suiv1 !=NULL)
{
e2=e1->suiv1;
e1=e2;
tab1.push_back(e1->a);
}
}
} |
Je suis vraiement pressé et ça me bloque dans une étape critique pour moi.
Merci de m'aider.