У меня есть прототип функции внутри спецификатора доступа открытого класса.
Это прототип:
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, поэтому не должно быть никаких ошибок даже без определения функции.
Если это часть класса String, то это назначение чего-то this
, так что требуется только один аргумент.
Других решений пока нет …