Как можно перегружать функции шаблона?

0

Например, у меня есть следующий класс:

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
}

Как я могу это сделать?

Теги:
class
templates

1 ответ

0

Прежде всего: поскольку любой класс/структура также имеет классы шаблонов, должен иметь terminatng ; после объявления:

  template<typename _Type>
  class MyClass
  {
     // ...
  };
// ^

Следующая ошибка вашего образца, вы забыли указать тип шаблона:

template<typename _Type>
const MyClass<_Type>& MyClass<_Type>::operator*(const MyClass<_Type> &inc)
                          // ^^^^^^^
{
   //something
}

Также вы можете заметить, что это просто определение метода класса шаблона, не перегружаемого.

  • 0
    ОП также забыл точку с запятой после объявления класса. class MyClass{}; <- там.
  • 0
    @CantChooseUsernames THX, хорошее место. Я упомяну это.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню