別の日、失敗したテンプレート メタプログラミングの別の実験。is_greater_than
2 つの整数値N
とM
typeを受け取るテンプレートを作成しようとしていますT
。
template<typename T, T N, T M>
struct is_greater_than<void, N, M>;
template<typename T = std::enable_if<std::is_integral<T>::value, T>::value, T N, T M>
struct is_greater_than<T, N, M>
{
static const bool value = N > M;
};
私ができる限り試してみてください。これを機能させることができないようです。これをコンパイルしようとすると、112 のコンパイラ エラーが発生します。http://ideone.com/ch1j7b : ここにイデオン フィドルがあります。
ここで何が間違っていますか?どんな助けでも大歓迎です!