Почему отложенное расширение завершается неудачно, когда внутри конвейерного блока кода?

Тип возврата operator T() всегда T. Это особый случай C ++.

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

30
задан Community 23 May 2017 в 12:17
поделиться