Имеется два различных объявления: первое объявляет глобальный перегруженный оператор, второе объявляет (и определяет) оператор, который является членом класса Number
(обратите внимание на Number::
?).Во-первых, все в порядке (если вы намерены определить его как независимого оператора), во-вторых, очевидно, нет.Как объяснено, это ответ, который вы связали, и, как говорит ошибка, операторы-члены должны принимать один аргумент (помимо неявного this
аргумента).