Тип возврата operator T()
всегда T
. Это особый случай C ++.
Он не использует синтаксис прототипа стандартной функции T foo()
, поскольку 2 функции с тем же именем, отличающиеся только типом возвращаемого значения, не могут сосуществовать (например, int foo()
конфликтует с double foo()
). Если этот синтаксис используется, вы можете определить только 1 перегрузку оператора преобразования, что нежелательно.