Здравствуйте, template, Вы писали: UC>class Complex UC>{ UC> friend Complex operator+(int fst, const Complex &Snd); // лишнее (template) UC>}; T>не согласен, friend тут излишество, вмешиваемся в чужой код. А так решение, лучше не придумаешь.
Какой же он лишний, если оператор определяется вместе с классом, но из-за недостатков С++ (или наоборот достоинства — кому как больше нравится) не может являться методом класса?