【发布时间】:2015-07-04 22:49:44
【问题描述】:
考虑以下人工示例:
template <typename T, typename... Args>
struct A {
typedef T Type;
};
使用带有 1 个或多个参数的 A 有效,而使用带有零参数的 A 按预期失败:
错误:模板参数的数量错误(0,应该是 1 或更多)
如果没有参数,是否可以让A 处理定义A::Type 到int 的零模板参数的情况,如果有则处理第一个模板参数?
【问题讨论】:
-
你可以将 f 重载为一个带有 0 个参数的函数
-
我知道,但我正在寻找如何在课堂上做到这一点。 f 只是使用类的一个例子。
-
我已经删除了对 f 的引用以避免混淆。
标签: c++ templates c++11 variadic-templates