Могут ли операторы присваивания C ++ быть свободными функциями?
Я пытаюсь что-то вроде этого:
Foo & operator=(Foo & to, const Bar &from);
Но я получаю эту ошибку:
E2239 'operator =(Foo &, const Bar &)' must be a member function
Существуют ли ограничения на то, что операторы могут / не могут быть определены как свободные функции, и если да, то почему?