Re: [TECH] prob c++ bison

2003-02-20 Par sujet Denis Arnaud
Bonjour,

en fait, je crois qu'il faut que tu implémentes la méthode parse() dans ton
code C++.
"vtable" signifie "virtual table": c'est une table qui référence les adresses
mémoires (pointeurs) des méthodes (fonctions C++) des objets fils, dans le
cadre d'un héritage C++. Ce mécanisme est appelé le polymorphisme, et on y
arrive en déclarant "virtual" les méthodes de l'objet parent.
Exemple:
class Voiture {
  virtual void affiche () { cout << "Je suis une voiture" << endl; }
};

class Peugeot : public Voiture {
  virtual void affiche () { cout << "Je suis une voiture Peugeot" << endl; }
};

int main () {
  Peugeot maPeugeot;
  Voiture voiturePolymorphe = maPeugeot;
  voiturePolymorphe.affiche();

 --- gougounel <[EMAIL PROTECTED]> a écrit : 
> Bonjour
> 
> vrml.bison.o: In function `parse::parse[not-in-charge]()':
> vrml.bison.o(.text+0x6): undefined reference to `vtable for parse'
> vrml.bison.o: In function `parse::parse[in-charge]()':
> vrml.bison.o(.text+0x12): undefined reference to `vtable for parse'
> collect2: ld returned 1 exit status


___
Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français !
Yahoo! Mail : http://fr.mail.yahoo.com

Linux-Azur :  http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
 Pas de message au format HTML, SVP 


[TECH] prob c++ bison

2003-02-19 Par sujet gougounel
Bonjour

voila je n'arrive pas a faire fonctionner bison++ et flex++ (debutant c++)
j'ai une erreur a la compil.
Si une personne connait l'erreur et peut me dire comment la corriger et 
comment trouver la solution d'une erreur de se type.

bison++ -d vrml.ypp
vrml.ypp:110 parser name defined to default :"parse"
flex -+  -i   vrml.flex
g++ -Wall -pedantic -ansi   -c lex.yy.cc -o vrml.lex.o
g++ -Wall -pedantic -ansi   -o vrml.bison.o -c  vrml.ypp.tab.c
g++ -Wall -pedantic -ansi-o executable main.C  vrml.lex.o vrml.bison.o   
-lfl
vrml.bison.o: In function `parse::parse[not-in-charge]()':
vrml.bison.o(.text+0x6): undefined reference to `vtable for parse'
vrml.bison.o: In function `parse::parse[in-charge]()':
vrml.bison.o(.text+0x12): undefined reference to `vtable for parse'
collect2: ld returned 1 exit status
make: *** [executable] Erreur 1


Fabrice

Linux-Azur :  http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
 Pas de message au format HTML, SVP