【发布时间】:2021-04-29 12:41:23
【问题描述】:
假设我有:
template <typename...>
class Foo { };
然后我定义另一个函数:
template <typename... T>
void Bar(const T&... arguments) { }
如何检查传递给Bar 的所有Ts 是否都从Foo 实例化?喜欢:
Foo<int> a;
Foo<int, int> b;
Bar(a, b); // OK
int c;
Bar(a, b, c); // ill-formed
我想要一种方法来检测格式不正确的参数,例如 Bar(a, b, c); 有没有办法做到这一点?
【问题讨论】:
-
This answer 可能会有所帮助。
标签: c++ templates variadic-templates variadic-functions variadic