有没有办法让我的boost :: any对象的typevalue用于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()”尝试了它,但它不起作用。
“'ValueType'的模板参数无效,预期类型为”