【发布时间】:2022-01-12 07:02:11
【问题描述】:
这种函数是否可行,如果可以,我该如何调用a_pFunc?
void CElmWorkingPropertyList::ChangeWorking( boost::variant< boost::function<CPamWorkingPtr(CPamWorking*)>, boost::function<void( CPamWorking* )>> a_pFunc, bool a_bAlignmentChange )
if ( a_pFuncContainer.type() == typeid(CPamWorkingPtr))
{
pWork = boost::get<CPamWorkingPtr>(a_pFuncContainer);
}
else
{
boost::get<void>(a_pFuncContainer);
}
【问题讨论】:
-
它们是不同的类型,所以是的,它将与任何其他变体一样工作