Können C ++ - Zuweisungsoperatoren freie Funktionen sein?

Ich versuche so etwas:

Foo & operator=(Foo & to, const Bar &from);

Aber ich erhalte diesen Fehler:

E2239 'operator =(Foo &, const Bar &)' must be a member function

Gibt es Einschränkungen, welche Operatoren als freie Funktionen definiert werden können / nicht, und wenn ja, warum?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage