Есть ли способ получить значение типа моего boost :: any объекта, чтобы использовать его для any_cast?
POSITION dictPos = CurrentSubMap->GetStartPosition();
while(dictPos)
{
boost::any a = CurrentSubMap->GetValueAt(dictPos);
if(a.type() == typeid(long))
dictToAppend[CurrentSubMap->GetNextKey(dictPos)] = boost::any_cast<long>(a);
else
dictToAppend[CurrentSubMap->GetNextKey(dictPos)] = boost::any_cast<CAtlString>(a);}
Это работает, но мне нужно динамическое решение, подобное:
dictToAppend[CurrentSubMap->GetNextKey(dictPos)] = boost::any_cast<HERE_THE_TYPE_OF_a>(a);
Я пробовал это с «a.type ()», но это не работает.
msgstr «неверный аргумент шаблона для ‘ValueType’, тип ожидаемый»
Задача ещё не решена.
Других решений пока нет …