Я использую Boost :: Variant в школьном проекте и struckels для извлечения «float-types» из Variant.Как извлечь <float> из Boost :: Вариант с Boost :: Get?
Я попытался с std :: string и float, и строки отлично работают.
boost::variant<std::string, float> var1;
var1 = 123.0F;
var1 = "test";
std::string s1 = boost::get<std::string>(var1);
float f1 = boost::get<float>(var1);
Но когда последняя строка запущенной я получить повышение :: bad_get исключение, как он не может найти тип поплавка в Variant?
Ahh теперь я получаю это: D Я через это как контейнер. Однако это больше похоже на «var» на C#. Мультитип, который может принимать разные типы. Большое спасибо! – ChristofferG
Контейнер @ChristofferG - это, например, boost :: tuple. – ForEveR
Я показываю оба boost :: tuple и boost :: fusion :: map в моем ответе, для вдохновения – sehe