【发布时间】:2021-11-11 21:44:13
【问题描述】:
我想要一个这样的模板函数:
template <typename T>
void ReadHelper(T vector_array[])
{
// some code
}
T 是一些结构。但是这个结构有两个不同的版本:
struct type1 {
float data;
}
struct type2 {
float data;
bool valid;
}
我希望ReadHelper 能够设置valid 标志。编写两个不同的 templated 函数以正确处理这两种类型的结构的好方法是什么?我当然可以为我的所有类型编写重载版本,但这很乏味。有没有
如何正确设置模板来做到这一点?或许是 SFINAE?
【问题讨论】:
-
当函数只能采用 2 种类型并且您需要为它们定义函数时,这如何是模板函数?这只是函数重载。
-
@NicolBolas 我只举了两个例子。还有很多。它们仅属于 2 个类别。
标签: c++ templates stl c++14 sfinae