Cómo hacer que una función devuelva diferentes tipos de valores
Este tipo de tipo dinámico no debe implementarse en el nivel de tipo del código. Se debe juzgar cuándo se ingresan y salen datos IO.
Por ejemplo, si ingresa la cadena "1" desde el teclado
Si no hay punto decimal, se procesará como un número entero. Si hay punto decimal y. no es igual a 0, se procesará como un punto flotante
Proceso con ramas. Se puede manejar con if.
En cuanto al doble juicio y la conversión a int.
Sí
if(d==floor(d)) //Igual a la base.
Usa int;
else usa punto flotante;
En resumen, no es apropiado confiar en la conversión implícita del lenguaje en sí, ya que lo hará. causa peligros ocultos y no está en línea con la intención de diseño original del lenguaje.