вы можете использовать подталкивание :: получить. Но не для кастинга. Это для извлечения реального типа из boost :: variant. Пример: Предположим, у вас есть:
boost::variant<bool, int, double> v myVariant;
myVariant = true;
вы должны использовать:
bool value = boost::get<bool>(myVariant);
и не
double value = boost::get<double>(myVariant);
в противном случае он будет сбой.
Как только у вас есть значение, вы можете его бросить.
Если вы не знаете тип установленного на вас увеличить вариант, вы должны использовать: подталкивание :: apply_visitor <> как в примере на ссылку ниже, в конце страницы:
http://www.boost.org/doc/libs/1_61_0/doc/html/variant.html
, но это означает, что вы должны сделать это для каждого типа в вашем наддува :: вариант
пожалуйста пройти через этот документ http://www.boost.org/doc/libs/1_55_0/doc/ html/boost_lexical_cast/examples.html –
'boost :: lexical_cast' не имеет смысла использовать' VARIANT'. Каково значение 'id.vt' в этом контексте? – ildjarn
Значение: id.vt 8 –