template<int, int>
struct T;
template<>
struct T<?, ?> {};
我想要这个工作
typedef T<1, 0> t;
这会导致编译时错误
typedef T<1, 2> t;
编辑,我的意思是我希望第二个参数为0.我不能使用C ++ 11的功能。
答案 0 :(得分:1)
你的问题不太清楚。你在找这个吗?
template <int, int>
struct T;
template<int x>
struct T<x, 0>
{
// Definition of the struct for the allowed case
};
答案 1 :(得分:0)
您可以使用 static_assert 来断言模板参数。
template<int A, int B>
struct T
{
static_assert(A > B, "Raised error because A is not bigger than B)";
}