Da quel che ho capito vorresti fare una cosa del genere :
codice:
template<class T> class CMeshBase {
T VertexBuffer[sz];
/* ... */
};
CMeshBase<Vertex1> vertex_one;
CMeshBase<Vertex2> vertex_two;
/* ... */
E il tuo problema e' che i tipi dei vertex_nesimi differiscono; a questo punto mi pare ovvio che tu stia cercando di accumunare le varie classi templatizzate, che potrebbero, ad esempio, avere interfacce indipendenti dal tipo T:
codice:
class _CMeshBase {
public:
virtual bool make_something() =0;
};
template<class T> class CMeshBase : public _CMeshBase {
public:
virtual bool make_something() {}
private:
T VertexBuffer[size];
/* ... */
};
void foo( _CMeshBase& ref ) { ref.make_something(); }
int main()
{
CMeshBase<int> vertex_one;
foo(vertex_one);
}
Spero di non aver frainteso la richiesta!