各オブジェクトが異なる特殊な型を持つ、パラメトリック型のオブジェクトのベクトルを作成したいと考えています。例:
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) でテンプレート引数が指定されていないため、これは機能しません。この特性を持つベクトルを作成するにはどうすればよいですか?