estaba aburrido y se acercó con tal Hack (pseudocódigo):C++ sobrecarga de tipo de retorno hackear
1 struct proxy {
2 operator int(); // int function
3 operator double(); // double function
4 proxy(arguments);
5 arguments &arguments_;
6 };
7
8 proxy function(arguments &args) {
9 return proxy(args);
10 }
11 int v = function(...);
12 double u = function(...);
es malo para su uso en código real?
mi posible escenario de uso es, por ejemplo, producto de elementos de la matriz, que puede/no puede desbordamiento:
int size(short *array);
short size(short *array);
La razón de la función, en caso de usar plantillas, de los parámetros de plantilla se pueden deducir de los argumentos de funciones
No veo el problema si se trata de un "problema real". ¿Cuál es el propósito de la función de todos modos, me parece innecesario. – piotr
bien, hace que la función se comporte de forma "antinatural". Me preocupa si hay algún elemento de sorpresa. – Anycorn
No creo que sea tan confuso; hay idiomas en los que las funciones pueden (naturalmente) cambiar su comportamiento en función del tipo de retorno esperado, o (para idiomas con múltiples valores de retorno) el número de valores esperados –