template<int, int>
struct T;
template<>
struct T<?, ?> {};
これを機能させたい
typedef T<1, 0> t;
これにより、コンパイル時エラーが発生します
typedef T<1, 2> t;
編集、つまり、2番目のパラメーターを0にしたいのですが、C++ 11の機能を使用できません。
template<int, int>
struct T;
template<>
struct T<?, ?> {};
これを機能させたい
typedef T<1, 0> t;
これにより、コンパイル時エラーが発生します
typedef T<1, 2> t;
編集、つまり、2番目のパラメーターを0にしたいのですが、C++ 11の機能を使用できません。
static_assertを使用して、テンプレート引数をアサートできます。
template<int A, int B>
struct T
{
static_assert(A > B, "Raised error because A is not bigger than B)";
}