je ne comprends pas pourquoi ce code ne compile pas avec g++, pourtant B
herite de A.
$ g++ -c C.cpp
In file included from C.cpp:1:
B.hpp:25: error: no `void B<T>::insert(const T&)' member function
declared in class `B<T>'
B.hpp:25: error: template definition of non-template `void
B<T>::insert(const T&)'
Le fait que B dérive de A signifie juste que B::insert est implicitement défini comme étant identique à A::insert. Si tu veux la définir explicitement, tu dois la déclarer explicitement :
Le fait que B dérive de A signifie juste que B::insert est
implicitement défini comme étant identique à A::insert.
Si tu veux la définir explicitement, tu dois la déclarer
explicitement :
Le fait que B dérive de A signifie juste que B::insert est implicitement défini comme étant identique à A::insert. Si tu veux la définir explicitement, tu dois la déclarer explicitement :
je ne comprends pas pourquoi ce code ne compile pas avec g++, pourtant B herite de A.
$ g++ -c C.cpp In file included from C.cpp:1: B.hpp:25: error: no `void B<T>::insert(const T&)' member function declared in class `B<T>' B.hpp:25: error: template definition of non-template `void B<T>::insert(const T&)'
Pourquoi est-ce que tu définis B::insert ici? Tu ne l'a pas déclaré dans la classe B, et à priori ce que tu veux c'est juste hériter de la version déclarée et définie dans A, non?
Arnaud
Bonjour,
je ne comprends pas pourquoi ce code ne compile pas avec g++, pourtant B
herite de A.
$ g++ -c C.cpp
In file included from C.cpp:1:
B.hpp:25: error: no `void B<T>::insert(const T&)' member function
declared in class `B<T>'
B.hpp:25: error: template definition of non-template `void
B<T>::insert(const T&)'
Pourquoi est-ce que tu définis B::insert ici? Tu ne l'a pas déclaré
dans la classe B, et à priori ce que tu veux c'est juste hériter de
la version déclarée et définie dans A, non?
je ne comprends pas pourquoi ce code ne compile pas avec g++, pourtant B herite de A.
$ g++ -c C.cpp In file included from C.cpp:1: B.hpp:25: error: no `void B<T>::insert(const T&)' member function declared in class `B<T>' B.hpp:25: error: template definition of non-template `void B<T>::insert(const T&)'
Pourquoi est-ce que tu définis B::insert ici? Tu ne l'a pas déclaré dans la classe B, et à priori ce que tu veux c'est juste hériter de la version déclarée et définie dans A, non?