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

undefined reference - problem z szablonami

Ostatnio zmodyfikowano 2013-11-03 10:17
Autor Wiadomość
kubek3898
Temat założony przez niniejszego użytkownika
undefined reference - problem z szablonami
» 2013-11-03 10:13:18
Witam, mam problem taki sam jak pekfos w tym temacie -> http://cpp0x.pl/forum/temat/​?id=3781, jednak nie chcę umieszczać ciała metody w pliku nagłówkowym, ze względu na jej wielkość. W Pasji C++, Grębosz pisze o tym, lecz podaje rozwiązanie tylko dla IDE Borland C++, a ja używam Code Blocks. Czy ktoś wie, jak można powiedzieć linkerowi w CB, by "zręcznie" generował szablony?

Podaję kod ilustrujący moją sytuację:

Klasa.h

C/C++
namespace ob
{
    template < class T = int >
    class Klasa
    {
        T x;
        T y;
    public:
        Klasa( T x, T y );
        Klasa();
    };
}

Klasa.cpp

C/C++
template < class T >
ob::Klasa < T >::Klasa( T x, T y )
{
    this->x = x;
    this->y = y;
}

template < class T >
ob::Klasa < T >::Klasa()
{
    this->x = 0;
    this->y = 0;
}
P-95135
Monika90
» 2013-11-03 10:17:53
Musisz z góry znać wszystkie typy z którymi będzie używany szablon i dla każdego typu w pliku cpp dodać:
C/C++
template class ob::Klasa < int >;
template class ob::Klasa < float >;
template class ob::Klasa < double >;
//itd...
P-95137
« 1 »
  Strona 1 z 1