Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/07/2015, 02:19
lmmontero
 
Fecha de Ingreso: mayo-2015
Mensajes: 15
Antigüedad: 9 años
Puntos: 0
Respuesta: Función que devuelve un puntero

Hola eferion,

Gracias por tu respuesta; de nuevo, perfectamente explicado.

Es cierto que el tema de liberación de memoria es algo que suelo olvidar y después me provoca muchos quebraderos de cabeza :). En este caso, entiendo que el código quedaría de la siguiente manera, para liberar la memoria reservada:

Código C:
Ver original
  1. int main( )
  2. {
  3.    char ** variable = (char**)malloc(10*sizeof(char*));
  4.  
  5.    myfunction( variable, 10 );
  6.  
  7.    free (variable);
  8.  
  9.    return 0;
  10. }

La cuestión es que el código me compila y la aplicación se ejecuta, pero aparece un error al compilar que me mosquea (estoy utilizando Visual Studio 2010):

IntelliSense: una referencia de tipo "int &" (no calificado constante) no se puede inicializar con un valor de tipo "char**"

El error hace referencia al uso de variable en la siguiente linea:

Código C:
Ver original
  1. myfunction( variable, 10 );

¿Sabes por qué aparece este error? ¿Realmente es un problema de compilación (ya que la aplicación se compila sin problemas?

Gracias de nuevo