How do I get the template type of a given element at runtime in C++? -
i'm designing simple array class capability of holding type of object, vector can hold multiple types of data in 1 object. (this learning purposes.) i have empty base class called container : class container {}; and templatized subclass called object : template <class t> class object : public container { t& object; public: object(t& obj = nullptr) : object(obj) {} }; i have array class holds vector of pointers container s use hold object s: class array { std::vector<container *> vec; public: template <class t> void add_element(const t&); auto get_element(int); }; add_element stores elements object s , puts them vec : template <class t> void array::add_element(const t& element) { vec.push_back(new object<t>(element)); } get_element removes element it's object , passes caller. problem lies. in order remove element object , need know type of object is: auto array::get_element(int i) { return (object</* ??? */> *...