Например, у меня есть следующий класс:
template<typename _Type>
class MyClass
{
MyClass();
const MyClass<_Type>& operator*(const MyClass<_Type> &inc);
}
template<typename _Type>
const MyClass<_Type>& MyClass::operator*(const MyClass<_Type> &inc) // very much errors
{
//something
}
Как я могу это сделать?
Прежде всего: поскольку любой класс/структура также имеет классы шаблонов, должен иметь terminatng ;
после объявления:
template<typename _Type>
class MyClass
{
// ...
};
// ^
Следующая ошибка вашего образца, вы забыли указать тип шаблона:
template<typename _Type>
const MyClass<_Type>& MyClass<_Type>::operator*(const MyClass<_Type> &inc)
// ^^^^^^^
{
//something
}
Также вы можете заметить, что это просто определение метода класса шаблона, не перегружаемого.
class MyClass{};
<- там.