Приоритет при выборе перегруженных шаблонных функций в C ++
У меня есть следующая проблема:
class Base
{
};
class Derived : public Base
{
};
class Different
{
};
class X
{
public:
template
static const char *func(T *data)
{
// Do something generic...
return "Generic";
}
static const char *func(Base *data)
{
// Do something specific...
return "Specific";
}
};
Если я сейчас сделаю
Derived derived;
Different different;
std::cout < "Derived: " < X::func(&derived) < std::endl;
std::cout < "Different: " < X::func(&different) < std::endl;