Я хочу получить указатель на базовый класс из варианта boost, если я поставлю orignally указатель на производный класс. Есть ли способ достичь этого. Следующий код не работает.boost :: variant and polymorphism
class A{ public: virtual ~A(){}}; class B : public A{};
typedef boost::variant<A*,B*> MyVar;
MyVar var = new B;
A* a = boost::get<A*> (var); // the following line throws exception
Может быть кто-то есть идеи, как написать свою собственную функцию ПОЛУЧИТЬ, которая будет проверять, если запрашиваемый тип базового класса хранимого типа в варианте, а затем делать соответствующий CAST
Эта кнопка станет прецедентом. Позор о том, что coliru не работает большинство моих ответов (слишком тяжелый) – sehe
Один голос здесь, чтобы отметить количество людей в мире, думая, что это способ приблизиться к проблеме. Включая OP. – SChepurin
@ Щепурин: не стесняйтесь представить свое решение –