Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Własne szablony - undefined reference to `lista<server>::wypisz()'

Ostatnio zmodyfikowano 2013-10-30 18:40
Autor Wiadomość
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
C/C++
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
P-94765
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.
C/C++
#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.
P-94769
dddd
Temat założony przez niniejszego użytkownika
» 2013-10-30 18:40:39
rzeczywiście się to kompiluje
P-94880
« 1 »
  Strona 1 z 1