Como declarar membros de dados que são objetos de qualquer tipo em uma classe

Nesta parte, estou tentando declarar na Classe B uma lista que pode conter objetos da Classe A de qualquer tipo, como A <int>, A <double>, A <float>. Pretendo adicionar objetos A à lista durante o tempo de execução:

#include <list>

template <class T> class A {};

class B {
    template<class T> std::list<A<T>*> objects;
};

Parece que fazer uma lista como essa deve funcionar, mas a compilação gera um erro:

Linha 6: erro: 'objetos' do membro de dados não podem ser um modelo de membro

compilação finalizada devido a erros -Wfatal.

lguém pode explicar por que isso não funciona e como posso corrigi-l

questionAnswers(5)

yourAnswerToTheQuestion