Título: Error llamada recursiva Puntero C Publicado por: aisak77 en 30 Enero 2017, 09:19 am #include <stdio.h>
#include <stdlib.h> int f1 (int *A, int n, int i); int main(){ int n = 4,a = 1; int i = 1; f1(&a,n,i); printf("LISTO"); } int f1 (int *A, int n, int i) { if (i == n) return 0; else { return f1(A, n, i++); } } Me da el siguiente error de compilación [Error] invalid conversion from 'int' to 'int*' [-fpermissive], no entiendo cual puede ser el problema :huh:, gracias. Título: Re: Error llamada recursiva Puntero C Publicado por: aisak77 en 30 Enero 2017, 10:49 am ***SOLUCIONADO***
Era debido a que se realizarían infinitas llamadas recursivas puesto que no es correcto asignar los sucesores con un postincremento (i++), se solucionaría simplemente cambiando dicho incremento por (i+1) o (++i). Un Saludo!. Título: Re: Error llamada recursiva Puntero C Publicado por: Kenji-chan en 30 Enero 2017, 13:44 pm el problema esta en que tu función recibe un puntero
Código: int f1 (int *A, int n, int i); Código: f1(&a,n,i); Código: return f1(A, n, i++); Código: return f1(*(&A), n, i++); |