Hola, estoy aprendiendo un poco de C++ y tengo el siguiente programa:
Código C++:
Ver original#include <iostream>
#include<stdio.h>
int factorial2(int n) {
if(n<2)
return 1;
else
return n * factorial(n-1);
}
int factorial(int n) {
return n * factorial2(n-1);
}
int main(){
int num=5;
printf("\tEl resultado es: %i\n", factorial
(num
)); //Llama la funcion e imprime resultado return 0;
}
Cuando ejecuto me arroja el siguiente error:
'factorial' was not declared in this scope --Linea 8
En esa linea esta: return n * factorial(n-1);
Y otro mensaje:
control reaches end of non-void function--- Linea 9
En esa linea esta: } el corchete que cierra la funcion.
El codigo anterior lo tengo en Java, y corre sin ningun problema. Aun estoy conociendo C++ por lo que si me gustaria saber cual es el problema.
Gracias :)