[C++] Własne szablony - undefined reference to `lista<server>::wypisz()'
Ostatnio zmodyfikowano 2013-10-30 18:40
dddd Temat założony przez niniejszego użytkownika |
[C++] Własne szablony - undefined reference to `lista<server>::wypisz()' » 2013-10-29 12:21:14 Cześć
Mam takie o to szablony klas
class server { ... }
template < typename T > class lista { private: vector < T > datebase; public: void wypisz( void ); ... };
template < typename T > class file { ... public: void load( T & l ); ... }
deklaracja main() { lista < server > lst; file < lista < server > > f; }
I niestety nie działa to
/root/proxy/phproxy_manager/test_template.cpp:14: undefined reference to `lista<server>::wypisz()'
/root/proxy/phproxy_manager/test_template.cpp:16: undefined reference to `file<lista<server> >::load(lista<server>&)'
collect2: error: ld returned 1 exit status
help
|
|
DejaVu |
» 2013-10-29 14:29:41 Zrób z tego kodu przykładowy program, który można skompilować i wówczas ponów pytanie. Błąd informuje, że implementacja metod szablonowych nie została znaleziona, a Twoje przytoczone fragmenty kodu niekoniecznie muszą odzwierciedlać rzeczywistość.
PS.
#include <vector> using namespace std;
class server { };
template < typename T > class lista { private: vector < T > datebase; public: void wypisz( void ) { } };
template < typename T > class file { public: void load( T & l ) { } };
int main() { lista < server > lst; file < lista < server > > f; lst.wypisz(); f.load( lst ); return 0; }
Powyższy kod się kompiluje. |
|
dddd Temat założony przez niniejszego użytkownika |
» 2013-10-30 18:40:39 rzeczywiście się to kompiluje |
|
« 1 » |