我有几个模板类/函数应该只用一个简短的类型列表实例化。我想做一个类型的向量(或任何容器),但我找不到怎么做,我期待这样的事情:
std::vector<std::type_info> myTypes = {typeid(int)};
template void myFunc<myTypes[0]>();
此代码无法编译!我正在为此寻找正确的语法。
您可以使用
std::tuple
创建类型列表,例如
using type_list = std::tuple<int, double>;
template <std::size_t I>
using type_list_element_t = std::tuple_element_t<I, type_list>;
然后你可以用它来实例化你的模板
template void myFunc<type_list_element_t<0>>();
为
myFunc
.实例化
int