Salut ! Je vous pose un pb dont j'ai bien du mal de trouver la solution .
Ca concerne les méthodes virtuelles et l'héritage.
En fait ,si jamais j'écrit le .h suivant :
Code :
- class A {
- public:
- A(void);
- virtual bool evaluate(void);
- virtual void go(void);
- };
|
Est il alors nécessaire de spécifier des lignes de codes dans le .c associé , pour les méthodes virtuelles ?
Mon pb pour le moment c'est que j'ai cette classe A , et deux classes B et C qui en héritent .. mais j'ai un pb au linkage .
Les erreurs se rapportent aux objets B.o et C.o (leur compilation ne pose pas de pb) et j'ai une erreur du type :
B.o (.gnu.linkonce. ..(j'en passe) : In function A::A[not-in-charge]()
undefined reference to `vtable for A`
undefined reference to `typeinfo for A`
C.o (.gnu.linkonce. ..(j'en passe) : In function A::A[not-in-charge]()
undefined reference to `vtable for A`
undefined reference to `typeinfo for A`
Merci par avance à l'âme charitable qui saura m'aiguiller.
@+
cali.
Message édité par calimerot le 27-12-2003 à 13:31:55