elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 22:23  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  error used prior to declaration
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: error used prior to declaration  (Leído 132 veces)
MasterPunk


Desconectado Desconectado

Mensajes: 442


(-A-)


Ver Perfil WWW
error used prior to declaration
« en: 4 Enero 2012, 01:56 »

Hola, podeis decirme porqué este código está mal?

Código
int main() {
 ....
 
 int valor_1 = 1500;
 int valor_max_1 = 1000;
 
 valor = v_max(valor_1, valor_max_1);
}
 
...
 
int v_max(valor, valor_max){
 if(valor > valor_max)
    return valor_max;
 if(valor < 0)
    return 0;
 return valor;
}
 

A mi me parece que está bien.. aunque tampoco es que sepa mucho =S
Gracias


« Última modificación: 4 Enero 2012, 01:59 por MasterPunk » En línea

KaL3o

Desconectado Desconectado

Mensajes: 32



Ver Perfil
Re: error used prior to declaration
« Respuesta #1 en: 4 Enero 2012, 02:30 »

Los compiladores toman tu codigo desde arriba hacia abajo.

Por lo cual cuando llega a la funcion, te sale el error del titulo del tema. Porque el compilador no conoce que funcion es, para implementar la funcion despues del main debes declararla antes del main.

Código
int v_max(int, int); //aqui le dices al compilador que esta funcion existe pero que luego la implementaras
 
int main()
{
   int valor_1 = 1500;
   int valor_max_1 = 1000;
   int valor;
   valor = v_max(valor_1, valor_max_1); //supongo que la variable valor si la has declarado, en caso que no, entonces debes declararla
}
 
int v_max(int valor, int valor_max)//las funciones tanto como los nombres de variables deben tener un nombre acorde a lo que hacen. Los parametros [b]no[/b] necesariamente deben tener el mismo nombre de las variables que usamos en nuestro programa principal.
{
   if(valor > valor_max)
       return valor_max;
   if(valor < 0)
       return 0;
   return valor;
}
 
En comentarios te coloque algunas aclaraciones :D

Otra alternativa es que puedes implementar la función antes del main
Código
int v_max(int x, int y)//cambie el nombre a los parametros para mostrar lo q habia comentado anterior mente
{
   if(x > y)
       return y;
   if(x < 0)
       return 0;
   return x;
}
 
int main()
{
   int valor_1 = 1500;
   int valor_max_1 = 1000;
   int valor;
 
   valor = v_max(valor_1, valor_max_1);
}
 

Espero te sea de ayuda

Salu2 :)


En línea

Todos los caminos se vuelven a juntar. Pero nunca de la misma forma.
alexis33de

Desconectado Desconectado

Mensajes: 50


Ver Perfil
Re: error used prior to declaration
« Respuesta #2 en: 4 Enero 2012, 03:01 »

Simplemente declara tu funcion primero y luego viene el main
Código
int v_max(valor, valor_max){
if(valor > valor_max)
   return valor_max;
if(valor < 0)
   return 0;
return valor;
}
int main() {
 
int valor_1 = 1500;
int valor_max_1 = 1000;
int valor;
valor = v_max(valor_1, valor_max_1);
}
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines