[C]Duda -warning compilación

Iniciado por h0oke, 9 Mayo 2010, 01:55 AM

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

h0oke

Hola, tengo una duda, gcc me lanza el siguiente warning:

gcc puntero1.c
puntero1.c: In function 'main':
puntero1.c:34: warning: parameter names (without types) in function declaration



Este es el código:

Código (c,34) [Seleccionar]
#include <stdio.h>

/* Practica para ordenar arreglos
1- Utilizando una funcion con un argumento array
2- Utilizando una funcion con un argumento puntero
*/


int Ord_Array(int Lista[], int Cant);
int Ord_Point(int *Lista, int Cant);

int main()
{
//Declaracion de variables
int miLista[10];
int *miPuntero;
int i;

int _max = 10;
//Inicializacion de array

puts("\t\t Ingreso de lista");
for(i = 0; i < 10; i++)
{
printf("Elemento n %d:",i);
scanf("%d",&miLista[i]);
}
puts("Terminado");

//Inicializamos el puntero
miPuntero = &miLista[0];

//Ordenamos
int Ord_Point(miLista, _max);

//Mostramos
for(i = 0; i < 10; i++)
{
printf("Elemento n %d \t %d\n",i,miLista[i]);
printf("Elemento n %d \t %d\n",i,*(miPuntero + i));
}
return 0;
}

int Ord_Array(int Lista[], int Cant)
{
int i, j, aux;
for(i = 0; i < Cant; i++)
{
for(j = i + 1; i < Cant + 1; i++)
{
if(Lista[i] > Lista[j])
{
aux = Lista[i];
Lista[i] = Lista[j];
Lista[j] = aux;
}
}
}
}

int Ord_Point(int *Lista, int Cant)
{
int i, j, aux;
for(i = 0; i < Cant; i++)
{
for(j = i + 1; i < Cant + 1; i++)
{
if(*(Lista + i) > *(Lista + j))
{
aux = *(Lista + i);
*(Lista + i) = *(Lista + j);
*(Lista + j) = aux;
}
}
}
}


   

   

Littlehorse

No leí bien el código completo pero leyendo la linea que resaltaste, el warning que te da es porque estas declarando una función cuando a simple vista lo que queres hacer es llamarla pasandole los parametros respectivos. El prototipo de la función ya lo declaraste arriba así que supongo que te equivocaste.


Ord_Point(miLista, _max);

Saludos
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

Gallu

Supongo que lo que querias hacer era

int resultado =  Ord_Point(miLista, _max);

si no es así basta con que le quites el int
Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.

h0oke

Ahora que lo hiciste notar... debería haber sido un void() (procedimiento)...

Gracias

CitarAdvertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.