Autor
|
Tema: [Ayuda] ¿Por que no puedo llamar funciones en C? (Leído 2,530 veces)
|
Proxmond
Desconectado
Mensajes: 23
|
Tengo este pequeño código, que funcionalmente debería imprimir un hola mundo en consola, pero no, no me deja: #include <stdlib.h> #include <stdio.h>
void msgHola(){ printf("Hola "); msgMundo(); }
void msgMundo(){ printf("Mundo"); }
int main(){ msgHola(); system("PAUSE"); return 0; } Entonces cuando llamo la función msgMundo(); desde la funcion msgHola(); me da este error: conflicting types for 'msgMundo' previous implicit declaration of 'msgMundo' was here Build Error] [main.o] Error 1 No se que error habrá, estuve mirando un par de vídeos acerca de funciones, y ellos lo hacen así, ¿Pero a mi no me funciona? Saludos y espero puedan ayudarme.
|
|
« Última modificación: 3 Junio 2014, 05:40 am por Proxmond »
|
En línea
|
|
|
|
engel lex
|
basicamente porque llamas a msgMundo antes de declararla y el compilador la ve como un error puedes arreglarla colocando primero msgMundo o haciendolo con prototipos (porque es más legible y "elegante" así #include <stdlib.h> #include <stdio.h> void msgHola(); void msgMundo(); int main(){ msgHola(); return 0; } void msgHola(){ msgMundo(); } void msgMundo(){ }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Proxmond
Desconectado
Mensajes: 23
|
basicamente porque llamas a msgMundo antes de declararla y el compilador la ve como un error puedes arreglarla colocando primero msgMundo o haciendolo con prototipos (porque es más legible y "elegante" así #include <stdlib.h> #include <stdio.h> void msgHola(); void msgMundo(); int main(){ msgHola(); return 0; } void msgHola(){ msgMundo(); } void msgMundo(){ }
Muchas gracias, me funciono de maravilla, pero me quedo una duda cuando tu dijiste "prototipos" ¿A que te referías y que lo que es? Saludos.
|
|
|
En línea
|
|
|
|
engel lex
|
los prototipos son "pre declaraciones" de las funciones, fijate como se declaran al inicio del codigo, eso le dice al compilador que funciones habrán en el codigo, no saturas tanto antes del main y el codigo está listo para declaraciones sin importar el orden, el prototipo se declara exactamente igual que la funcion pero sin el contenido... (más info)aqui un ejemplo más largo de como usarlos... #include <stdlib.h> #include <stdio.h> int suma(int a, int b); int cuadrado(int c); void imprimirNumero(int d); int main(){ int valor1 = suma(5,8); int valor2 = cuadrado(5); imprimirNumero(valor1); imprimirNumero(valor2); return 0; } int suma(int a, int b){ return (a+b); } int cuadrado(int c){ return (c*c); } void imprimirNumero(int d){ }
|
|
« Última modificación: 3 Junio 2014, 05:36 am por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Proxmond
Desconectado
Mensajes: 23
|
los prototipos son "pre declaraciones" de las funciones, fijate como se declaran al inicio del codigo, eso le dice al compilador que funciones habrán en el codigo, no saturas tanto antes del main y el codigo está listo para declaraciones sin importar el orden, el prototipo se declara exactamente igual que la funcion pero sin el contenido... (más info)aqui un ejemplo más largo de como usarlos... #include <stdlib.h> #include <stdio.h> int suma(int a, int b); int cuadrado(int c); void imprimirNumero(int d); int main(){ int valor1 = suma(5,8); int valor2 = cuadrado(5); imprimirNumero(valor1); imprimirNumero(valor2); return 0; } int suma(int a, int b){ return (a+b); } int cuadrado(int c){ return (c*c); } void imprimirNumero(int d){ }
Buenísimo muchas gracias, tema resuelto. Cualquier sugerencia, bienvenida sea. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como llamar automaticamente funciones AJAX ??
PHP
|
Diabliyo
|
3
|
7,794
|
28 Agosto 2008, 15:53 pm
por Ragnarok
|
|
|
[DUDA] Cargar Dll de VB y Llamar las funciones de la misma!!!!!
Programación C/C++
|
m[a]rkus
|
0
|
3,410
|
9 Agosto 2010, 18:29 pm
por m[a]rkus
|
|
|
Llamar dos funciones AJAX en onChange
Desarrollo Web
|
KateLibby
|
7
|
13,032
|
26 Octubre 2011, 11:29 am
por KateLibby
|
|
|
Es posible llamar funciones en un bucle?
Programación C/C++
|
muymuyperdido
|
2
|
2,839
|
25 Diciembre 2012, 20:16 pm
por lucaslopez0000
|
|
|
Duda llamar funciones
Programación C/C++
|
samsums91
|
7
|
3,427
|
10 Enero 2013, 18:58 pm
por samsums91
|
|