Instead of
template <typename T>
void func(T arg) {/* something */}
why can't we do
template <T>
void func(T arg) {/* something */}
From cplusplus.com :
The only difference between both prototypes is the use of either the keyword class or the keyword typename. Its use is indistinct, since both expressions have exactly the same meaning and behave exactly the same way.
It just seems like unnecessary boilerplate to me.
http://www.cplusplus.com/doc/tutorial/templates/ See the section on Non-type parameters for templates.
You need some keyword to distinguish type-parameters from non-type parameters.
template <class T, int N>
class mysequence {
T memblock [N];
public:
void setmember (int x, T value);
T getmember (int x);
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With