Foro de elhacker.net

Programación => Ejercicios => Mensaje iniciado por: linkwollf en 26 Septiembre 2014, 20:29 pm



Título: Ejercicio devc++ una mano con un error
Publicado por: linkwollf en 26 Septiembre 2014, 20:29 pm
Buenas! alguien me hecha una manita con este programa? es una simple advertencia pero no logro comprender porque,  basicamente es Hacer un programa que tenga unas etiquetas guardadas que las envie a una funcion y las imprima pero para todo ello hacer uso de apuntadores, logro que compile en ciertas ocasiones pero en otras no este es el error que me da les marco la linea en la que me manda el warning


#include <stdio.h>

const int max = 4;

void Capturadatos(char **etiquetas){
   int i = 0;

   for(i=1;i<max; i++)
   {
      printf("Contenido de etiquetas[%d]= %s\n", i, etiquetas);
   
   
   }
}

int main()
{
   int **iPtr=NULL, i;
   char *etiquetas[] = {             "merengano",
                     "perengano",
                     "San francisco",
                     "1234567",};
    
   Capturadatos(etiquetas);
   
   iPtr=&etiquetas[0]; //anexo correcion de **iPtr=etiquetas[0];
    for (i=0;i<4;i++){
   printf("*iPtr es %d\n", *iPtr);
   iPtr++;}

   system("pause");

   return 0;   
}


[Warning] assignment makes integer from pointer without a cast [enabled by default]


Gracias anticipadas!


Título: Re: Ejercicio devc++ una mano con un error
Publicado por: BlackM4ster en 29 Septiembre 2014, 09:04 am
Tienes un par de cosas mal:
Código
  1. ...
  2. ...
  3. for(i=0;i<max; i++){
  4. printf("Contenido de etiquetas[%d]= %s\n", i, etiquetas[i]);
  5. ...
  6. ...

El warning ese se debe a que el puntero lo declaras INT, pero en realidad es CHAR
Código
  1. char **iPtr = NULL


Título: Re: Ejercicio devc++ una mano con un error
Publicado por: linkwollf en 2 Octubre 2014, 00:08 am
Si no cai en que un apuntador debe de ser del mismo tipo que a la variable a la que va a apuntar

Gracias!