我已经将我的疑问提炼到以下这段代码中
struct base {};
struct derived : public base {};
template <class T>
struct Type { };
template <> struct Type<base> {
typedef float mytype;
};
typename Type<base>::mytype a=4.2; // this works
typename Type<derived>::mytype a=4.2; // this doesnt
谁能解释为什么我不能用它来实例化类模板对象derived
并提出一种简单的方法来做到这一点。对于我感兴趣的实际问题,我想使用许多派生类来实例化模板类对象和/或使用 typedef。它们太多了,比我想单独专门研究的要多。
编辑:忘了提,我的错,这需要是 C++03