在做一个项目时,我遇到了这段代码,我试图弄清楚:
enum Attributes { ACTIVE, COMPLETE, POSITION }
template<Attributes NN,typename TT>
TT& Set(TT&& t)
{
return typeList.get<NN>()=t; //typeList is a boost tuple
}
稍后调用
object.Set<ACTIVE>(true);
里面只有一个模板参数!怎么可能用两个参数指定一个模板,然后只用一个参数调用它?我认为 Set 方法应该采用 2 个模板参数(属性和类型名),例如 std::map。