As titlte says, in C++11, how can I declare a template that only accepts numbers (int, long, float and double) and strings?
template<typename T>
class CustomClass {
public:
T data;
};
Put this anywhere in the class definition:
static_assert(std::is_arithmetic<T>::value ||
std::is_same<T, std::string>::value,
"Wrong argument type");
Adjust condition to taste.
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