Оператор функции = должен быть функцией-членом

У меня есть прототип функции внутри спецификатора доступа открытого класса.
Это прототип:

friend void operator=(String &s,char *str);

String — это класс, где он прототипируется. Как видите, это функция друга. Сохраняя это таким образом, это дает мне эту ошибку:

operator =' must be a non-static member // Error: operator= must be a member function

И когда я удаляю свойство друга, это дает мне эту ошибку:

error C2804: binary 'operator =' has too many parameters

Что не так с этим прототипом? В настоящее время нет вызова в operator = function, поэтому не должно быть никаких ошибок даже без определения функции.

0

Решение

Если это часть класса String, то это назначение чего-то this, так что требуется только один аргумент.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]