TITLE: templated typedefs (Newsgroups: comp.lang.c++.moderated, 12 Jun 97) GOOD: "Sebastian Good" Simple question : why aren't templated typedefs allowed? I would like to be able to do the following template class Stuff {...}; template typedef Stuff IntStuff; Instead, I must resort to a macro: #define IntStuff(T) Stuff which makes the syntax non-uniform. The only reason I could think of was that there is no existing concept of overloading typedefs... VANDEVOORDE: David Vandevoorde It's a good question. The answer might be that people realized too late how useful such a feature would be. I'm not sure. The usual workaround is to use a template-class local typedef or inheritance. E.g., for your example: template struct IntStuff: public Stuff {}; FRESL: Kresimir Fresl But constructors and operators = are not inherited. TIANXING: gztxwang@public1.guangzhou.gd.cn (Wang TianXing) So you want to try the other option given by Daveed, "template-class local typedef": template struct IntStuff { typedef Stuff t; }; Use it like this: IntStuff::t x; It needs a little more typing, though.