Julila
@Julila
вечный студент / german version

Как создать operator= для Template класса?

Всем привет.
У меня есть класс SearchVector
Допустим я хочу выполнить следущие действия. Найти из value наибольший эллемент и вернуть его для инициализации
Мне нужен оператор приравнивания.

SearchVector <double> sv1({ 1.0, 1.9, 12.0, 2.5, 3.4 });
     SearchVector <int>    sv2({ 1, 2, 5, 23, 2, 1 });    
     double max_double = sv1;
     int    max_int    = sv2;


Я написала что то типо такого шаблона для теста, с пробой max какого либо числа, но при компилирование получаю ошибку.
Как сделать правильно ?
T  & operator=(SearchVektor<T> & s )   {
		//// Find max from s 

		return (T) max; 
	}


A1.cpp:189:26: error: cannot convert ‘SearchVektor’ to ‘double’ in initialization


Example from cppreference

T& T::operator=(T arg) // copy/move constructor is called to construct arg
{
swap(arg); // resources are exchanged between *this and arg
return *this;
} // destructor of arg is called to release the resources formerly held by *this
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы