原因 我需要使用2个阶段的施工,此外,最后阶段由另一个线索推迟和进行,有些情况是:
...
#define BOOST_PP_LOCAL_MACRO(n)
template < typename ConnectionType, BOOST_PP_ENUM_PARAMS(n, typename T) >
boost::shared_ptr< ConnectionType > Connect( BOOST_PP_ENUM_BINARY_PARAMS(n, T, arg) )
{
boost::shared_ptr< ConnectionType > con( boost::make_shared< ConnectionType >() );
boost::mutex::scoped_lock sl( m_AddNetworkJobMutex );
m_NetworkJobs.push_back( boost::bind( static_cast< void ( ConnectionType::* )( BOOST_PP_ENUM_PARAMS(n,T) ) >( &ConnectionType::Init ), con, BOOST_PP_ENUM_PARAMS(n, arg) ) );
return con;
}
#define BOOST_PP_LOCAL_LIMITS (1, 5)
#include BOOST_PP_LOCAL_ITERATE()
...
这里的问题是,我想从为连接Type设定的超负荷中挑选出最好的匹配:Init,但投射物是不同的,即使某些论点是可兑换的,也找不到完美的匹配。 因此,问题是: 能否获得这种类型和组件;在未实际使用超载体时,点击器达到最佳匹配水平? 不能使用C++03中可用吨数。