Dev - C++ - "xx" undeclared(first use this function)

 
Vista:

"xx" undeclared(first use this function)

Publicado por Alejo (1 intervención) el 08/07/2006 20:56:15
saludos amigos, tengo un problemilla para declarar funciones les cuento, tengo un programa X con 3 procedientos a b c con cierta implementacion lo que pasa es que
a->b; (a llama a b)
b->c;
c->a;

el problema es q al escribirlos y compilar con el dev-c++4.9.9.2 me lanza error de
"x" undeclared(first use this function) por que dice q no l otengo declarado y al parecer tengo que crear el procedmiento b y despues el a, pero para b tengo q tener implementado c y para c tengo q tener hecho el a entonces no se como hacerlo u ordenarlos para que compile bien :(.

POr sus respuestas gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:http://progrmandoenc.webcindario.com

Publicado por Ismael (100 intervenciones) el 10/07/2006 08:49:56
Dos soluciones:
1) Envía las variables como argumentos en las llamadas a las funciones
2) Declara todas las varialbes como globales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Declara los prototipos

Publicado por Kraken (4 intervenciones) el 16/07/2006 01:26:17
Buenas, Alejo.

Prueba en declarar los prototipos de los procedimientos. De éste modo, al definir sus implementaciones posteriormente y estando ya declarados no aparecerá el error de compilación.

Te pongo aquí un ejemplo sobre lo que me refiero:

//------------------------------------EJEMPLO--------------------------------------------

#include <iostream>
using namespace std;

//Declaración de prototipos (evita el error de 'undeclared')

void a();
void b();
void c();

int main()
{
a(); //Llamada a procedimiento A.
return 0;
}

//Definición de los procedimientos

void a(){
cout << "Soy procedimiento A.\nLlamo a B.\n";
b();
}

void b(){
cout << "Soy procedimiento B.\nLlamo a C.\n";
c();
}

void c(){
cout << "Soy procedimiento C.\nLlamo a A.\n";
a();
}

//------------------------------------EJEMPLO--------------------------------------------

Espero que esta respuesta te ayude y que responda realmente a lo que tu habías propuesto.
A mi, personalmente, me compila sin ningún error y se ejecuta el Bucle infinito de los 3 procedimientos.
Ya me dirás si te ayudó.

Saludos,

Kraken
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar