鉴于以下情况,如何从参数包中正确构造未知类型的对象?
template < typename... Types >
auto foo( Types&&... types ) {
auto result = Types{ }; // How should this be done?
// Do stuff with result
return result;
}
我希望模板函数只能用匹配的类型调用,所以参数包中的所有内容都应该是相同的类型。例如,如果我需要使用,我引用哪个单独的项目都没有关系decltype
(注释掉部分中的相关代码会导致编译错误)。