mam 2 kody napisane w cpp i jedna biblioteke:
// tmp.h
template <class Typ> class CTmp
{
public:
int metoda(Typ dane);
};
// tmp.cpp
#include "tmp.h"
template <class Typ> int CTmp<Typ>::metoda(Typ dane)
{
}
// main.cpp
#include "tmp.h"
int main()
{
CTmp<char> klasa;
klasa.metoda('a');
return 0;
}
Przy kompilacji (pod gcc v3.3.4) pod linuksem (Debian Sarge):
g++ main.cpp tmp.cpp
daje taki błąd:
/tmp/ccIM4zQp.o(.text+0x1f): In function main': : undefined reference to
CTmp<char>::metoda(char)'
collect2: ld returned 1 exit status
hmm, zjadło mi pytanie, które było na końcu- Co źle napisałem i jak prawidłowo napisać klasę szablonową z metodami w c++ ??