如何让模板类的子类型的可见度扩大到类的外面?
模板类的子类型只在类的内部可见。在类外面要用的话,必顺是public的,且要用::。现在我的问题是,如何把子类型搞出来,让它变成全局的。
下面是大概的程序:
template<typename T>
class C
{
typedef C* base_ptr;
...
};
// use C::base_ptr
typename C<int>::base_ptr ptr;
// how to make it like this: base_ptr<int> ptr;
// the following are wrong
// using C::base_ptr;
// typedef C::base_ptr ptr;