Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Pouzitie triedy so sablonou template<class any>

Ahojte.
Mam otazku ohladom programovania tried v ktorych su sablonove premenne.
V triede mam osobitny hlavickovy subor a subor,kde definujem metody.Dana trieda je sucastou COM objektu ktory kodim.
Pri kompilacii COM obkektu vo VisualStudiu 2005 mi hlaasi chybu typu:

1> Creating library Debug\uloha.lib and object Debug\uloha.exp
1>CMain.obj : error LNK2019: unresolved external symbol "public: double __thiscall trieda3<double>::vykonaj_upravu(int,double,class std::vector<double,class std::allocator<double> > &,int &)" (?vykonaj_upravu@?$trieda3@N@@QAENHNAAV?$vector@NV ?$allocator@N@std@@@std@@AAH@Z) referenced in function "public: virtual long __stdcall CCMain::vypocitaj(double,double,unsigned char,unsigned char,double *)" (?vypocitaj@CCMain@@UAGJNNEEPAN@Z)
1>Debug\uloha.d ll : fatal error LNK1120: 1 unresolved externals

Problem je nastava ak metodu,ktorej hlavicka je v subore *.h definujem v inom subore.
Ak ale telo metody definujem priamo v subore *.h tak kompilacia prebehne a vsetko je v poriadku.

PRECO??????????

zdrojak triedy je:
#pragma once
#include<iostream>
#include<memory>
#include< vector>
using namespace std;
#ifndef JOHNY_HL
#define JOHNY_HL
template<class any>
class trieda3 //sablonovana bo kazda funkcia vracia iny argument
{
private:
any dyn_prem;
public:
trieda3(){}
trieda3(any hodnota){dyn_prem=hodnota;}
~trieda3(){}
any vykonaj_upravu(int index,double hodnota,vector<any> &pp,int &poc_zaz); //vykonavanie algoritmov
};
#endif

Předmět Autor Datum
Nenašly se žádné odpovědi.

Zpět do poradny Odpovědět na původní otázku Nahoru