es*****@googlemail.com napsal:

Hi all, i have a Vector class (as in mathematical vectors) which is

templatised on two parameters, the length of the vector and it's type

(int,double,etc). I am able to use a typedef like the folowing:

typedef Vector<3,floatVector3DFloat;

Vector3DFloat myVector;

so that users can now use Vector3DFloat as a type in thier code.

However, i would like to just typedef away *one* of the parameters

which i would expect to look something like the following:

typedef Vector<3,TypeVector3D<Type>;

Vector3D<floatmyVector;

The above doesn'tcompile but hopefully illustrates what I am trying to

do. Is there a way to make this work?

No, there's no elegant solution to this. C++0x will (hopefully) have

"template

typedefs", which is just what you want. If you want further details

including possible workarounds, see

http://www.ddj.com/dept/cpp/184403850
Regards

Jiri Palecek