ciao.
Ho creato due template Pippo1 e Pluto1 e una classe template

codice:
class Pippo1  {
public:
	Pippo1(){};
	struct SubType{
		static int n1;
	};
	
};

class Pluto1{
public:
	Pluto1();
	struct SubType{
		static int n1;
	};
	
};

template <typename T>
class MyClass {
public:

	MyClass(){}

	typename T::SubType * ptr;
	static int nValue;
};
di queste due variabili vado a settare:
Pippo1::SubType::n1 = 1;
Pluto1::SubType::n1 = 2;

int nEntityID = -1, nEntityType ;
ora vorrei chiamando pApi->ImportEntityDS andare a settare il tipo per es vorrei poter fare:
MyClass<Pluto1> pBase;
e
int n = pBase.ptr->n1;//mi dovrebbe restiture 2
o
MyClass<Pippo1> pBase;
e
int n = pBase.ptr->n1;//mi dovrebbe restiture 1

solo vorrei settare il tipo passato a MyClass<???> all interno della funzione pApi->ImportEntityDS
il tipo all interno di pApi->ImportEntityDS lo sceglierei in compile time , ho capito
che i template agiscono solo in questo frangente.
è possibile?
come faccio a farmi restituire un tipo impostato all' interno della funzione?
T = pApi->ImportEntityDS(&nEntityID, &nEntityType, pBase);???

posso usare delle sorte di classi base coi template?
grazie.