0
我想創建一個參數化類型的對象向量,其中每個對象都有不同的專用類型。例如:參數化對象向量
template<typename A>
struct BaseAtom
{
A _a;
};
struct AtomA : BaseAtom<int>
{};
int main()
{
std::vector<BaseAtom*> v; // (1)
AtomA a;
v.push_back(&a);
}
和邏輯,此不起作用,因爲BaseAtom是一個模板類型,並且未在(1)中指定的模板參數。我如何創建一個具有這種特徵的矢量?
通常(或不那麼常見)稱爲外部多態性。 – Chad
但是,此向量可能包含從Base派生的對象,但不能從BaseAtom派生。 –
@ Peregring-lk:如果'BaseAtom '是唯一可以從'Base'派生出來的東西(這正是我想到的)。 – NPE