class Serializer
{
public:
Serializer(){}
~Serializer(){}
template<class T>
Serializer& operator >> (T& object)
{
// реализация
return *this;
}
Serializer& operator >> (MyClassType& object)
{
// реализация
return *this;
}
}
При попытке использования
Serializer s;
MyClassType object;
s >> object;
VC6 пишет, что не может определить, какую из двух реализаций использовать. Можно ли разрешать такие коллизии, явно вызывая нужную реализацию? Учитывая, что перегрузка оператора >> служит для компактности и красоты кода, хотелось бы иметь возможность делать это столь же компактно.