【发布时间】:2014-09-22 09:32:03
【问题描述】:
我这样定义一个可变参数结构
template <class T, class... TRest>
struct Opa
{
Opa()
{
std::cout << "Mutiple-arguments template";
}
};
并希望将其专门用于仅具有 1 个参数的情况,如下所示
template <>
struct Opa<class T>
{
Opa()
{
std::cout << "One-argument template";
}
};
但是编译器只是忽略了第二个结构,以及来自
的输出Opa<int> opa;
Opa<int, int> opa_opa;
是Mutiple-arguments template, Mutiple-arguments template。
以不同方式指定单参数模板,例如
template <class T>
struct Opa
{...}
导致编译错误。 我意识到我的问题很简单,但谷歌搜索没有帮助。 所以请不要向我扔烂番茄,谢谢你的回答。
【问题讨论】:
-
你的可变参数模板在哪里?