我试图做这样的事情:使用typedefs部分默认模板参数?
template <typename T,bool Strong=true>
class Pointer {...};
template <typename T>
typedef Pointer<T,false> WeakPointer;
但是,这是一个编译错误(“typedef的模板是非法的” VC)。
我想避免使用继承来做这件事,因为这是更多不必要的工作(重写构造函数,操作符=,来回铸造,友情...)。
任何想法?