Cita:
Iniciado por eferion el return está en el último else, si el código entra en, por ejemplo, el primer if, se llama de forma recursiva a DigitosNumero... pero únicamente el último tendrá el return, el resto de llamadas no tendrán escrito su correspondiente return.
Yo esperaría encontrar algo así:
Aun así no termino de acostumbrarme a eso de separar las instrucciones por coma en vez de por punto y coma... manías que tiene uno :)
Tal vez me expliqué mal. Está es la cuestión:
Código C++:
Ver originalif ( numero > 0 && flag == 0 )
digitosNumero [ numero % 10 ]++ , DigitosNumero ( digitosNumero , numero / 10 , 0 ) ;
Si entra en el if es porque "numero es mayor de cero ( y flag también ) y lo que hace el if es incrementar el array y a continuación invoca a la función recursiva con el valor de "numero" dividido entre 10 y sucesivamente es invocada "hasta" que "numero" es es cero, momento en que si que actúa el return 1, pero no antes.
Un fuerte saludo amigo
eferion y gracias por mirar con tanto detenimiento el código, gracias y desde ya
¡¡¡ Felices Fiestas ¡¡¡.
¡¡¡Saluditos!!!