如果我有一个基类及其层次结构:
class BaseClass {
}
class DerivedClass : public BaseClass {
}
还有一个模板类:
template <class T> struct TemplatedClass {
}
我怎样才能做到这一点?:
// 1:
void doSomething(TemplatedClass<BaseClass *> const &t);
// 2:
std::vector<TemplatedClass<BaseClass *>> v;
TemplatedClass<DerivedClass *> a;
// Doesn't compile
doSomething(a);
// Doesn't compile
v.push_back(a);