ciao.
ho la seguente riga di codice:
codice:
CPippo<CDatasetBase>* p =(CPippo<CDatasetBase>*) new CPippo<CDatasetBase>();
quando aggiungo la riga compila senza errori , ma mi becco questo errore del linker:

ImportFem.obj : error LNK2019: unresolved external symbol "public: __thiscall CPippo<class CDatasetBase>::CPippo<class CDatasetBase>(void)" (??0?$CPippo@VCDatasetBase@@@@QAE@XZ) referenced in function "public: void __thiscall CImportFem::ImportDs(void)" (?ImportDs@CImportFem@@QAEXXZ)
Debug/template.exe : fatal error LNK1120: 1 unresolved externals


CPippo è cosi:
codice:
template <typename T>
class CPippo : public CImporterBase
{
public:
	CPippo();
	T* CreateDatasetAndReturn()
	{
		return new T;
	}
	bool IsMe(){return true;};
	struct SubType{
		int n8;
	};
	bool accept(CVisitor* pVisitor) {
        return true;//pVisitor->visit(this);
    }
	void parse(CImporterBase* pBaseParse, std::string strParse){	
		std::string str = strParse;
	}

};
e deriva da :

class CImporterBase
{
public:
	CimporterBase(){};
	virtual CDatasetBase* CreateDatasetAndReturn()=0;
	virtual bool IsMe()/*{return false;}*/ = 0;
	virtual bool accept(CVisitor* pVisitor)/*{return false;}*/ = 0;
	virtual void parse(CImporterBase* pBaseParse, std::string strParse)= 0;
};

perchè l'errore del linker?
a cosa è dovuto?


grazie.