Ejercicio devc++ una mano con un error

Iniciado por linkwollf, 26 Septiembre 2014, 20:29 PM

0 Miembros y 1 Visitante están viendo este tema.

linkwollf

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!

BlackM4ster

Tienes un par de cosas mal:
...
...
for(i=0;i<max; i++){
printf("Contenido de etiquetas[%d]= %s\n", i, etiquetas[i]);
...
...


El warning ese se debe a que el puntero lo declaras INT, pero en realidad es CHAR
char **iPtr = NULL
- Pásate por mi web -
https://codeisc.com

linkwollf

Si no cai en que un apuntador debe de ser del mismo tipo que a la variable a la que va a apuntar

Gracias!