(Visual c++) szablony klas

0

Witam

Czy ktos zna jakiś niezawodny sposób na zdefiniowanie szablonu klas w visualu c++?

Juz próbowałem tworzyć go za pomoca opcji new class, ale jak już chce zadeklarować powiedzmy szablon<int<
wyskakuje błąd:

error LNK2001: unresolved external symbol "public: __thiscall zbior<int>::~zbior<int>(void)" (??1?$zbior@H@@QAE@XZ)

nie za bardzo wiem o co chodzi

Z kolei gdy dodałem plik szablon.h z deklaracją funkcji
a potem w pliku szablon.cpp definicję tej funkcji to kompilatorowi zaczęło brakowac średników ( w dev-cpp wszystko było ok),
gdy definicje przeniosłem do szablon.h niby wszystko się kompiluje
potem "program wykonuje niedozwoloną operację"

nie wiem już co robić

1

Hmm.. wiesz ofc ze calosc deklaracji i definicji templetow musi byc w pliku .h ? Calosc, lacznie z cialem funkcji!..
Z dosc prostego powodu. Sam szablon dla kompilatora nie istnieje. Czyli bedac w pliku .c bez zadnych odwolan (same funkcje) ten .c skompilowany bedzie i tak pustym obiektem. Kompilator tworzy funkcje wg szablonu dopiero jak natknie sie na jej wywolanie..
Tak ze wrzuc calosc do .h i jak chcesz uzywac to includuj...

0

Dzięki, nie spojrzałem na to w ten sposób.

Teraz wszystko gra(no mały kosmetyczny problemik ,że w zakladce class view nie ma uwidocznionych funkcji, a co za tym idzie nie ma uzupełniania, ale to już jest bez znaczenia)

THX

1 użytkowników online, w tym zalogowanych: 0, gości: 1