Is it possible to overload or specialize class member functions based on given enum values?
enum class Type {
TypeA,
TypeB,
TypeC
};
class Foo {[
template <Type t, typename std::enable_if_t<t==Type::TypeA>>
int get() {
return 1;
}
template <Type t, typename std::enable_if_t<t==Type::TypeB>>
double get() {
return 1.0;
}
template <Type t, typename std::enable_if_t<t==Type::TypeC>>
char get() {
return 'a';
}
};
The compile complain about overloading on above code snippet.
Aucun commentaire:
Enregistrer un commentaire