Is it possible to do something like the following that compiles without template specialization?
template class A { public: #if std::is_same&l
Yes, with template specialization :
template class A; template <> class A { void had_int(){} }; template <> class A { void had_char(){} };