テンプレート パラメータの宣言が必要な場合 (typename
以下class
で提案する diff 構文で language could not work のように) 。テンプレートのパラメーターが整数になる可能性があることはわかっているため、デフォルトで int またはtypename
/ class を選択する必要がありますが、それでもなお.
つまり、なぜですか
template <T>
T max(T a, T b) {
return a > b ? a : b;
}
それ以外の
template <typename T>
T max(T a, T b) {
return a > b ? a : b;
}
と
template<T, size_t n>
size_t array_size(const T (&)[n]) {
return n;
}
それ以外の
template<typename T, size_t n>
size_t array_size(const T (&)[n]) {
return n;
}