Título: Error en la definición de una función Publicado por: iramonf en 17 Abril 2016, 18:40 pm Buenas
Estoy trabajando con CodeBlocks y gcc. Defino una función de 4 variables que no devuelve nada. Tres de las variables son complejas y he utilizado el código: #include <complex.h> void funcion(complex <double>, complex <double>, complex <double>, int); Pero al compilar me da el error: variable or field funcion declared void y "complex" was not declared in this scope No tengo ni idea de qué es lo que está ocurriendo pero he hecho pruebas trabajando con complejos y funcionaba... ¿Me puedes ayudar? Título: Re: Error en la definición de una función Publicado por: Gunhack en 17 Abril 2016, 21:37 pm CREO estas colocando mal la librería, no es "<complex.h>" solamente es "<complex>" ;D
http://www.cplusplus.com/reference/complex/ (http://www.cplusplus.com/reference/complex/) Título: Re: Error en la definición de una función Publicado por: iramonf en 18 Abril 2016, 10:48 am Gracias por tu respuesta a la que, debo reconocer, no di crédito al principio.
Pero sí tenías razón y la prueba se encuentra en: https://es.wikipedia.org/wiki/Complex.h Con complex tengo un tipo de errores y con complex.h otro. ¡Un rollo! Lo que creo que voy a hacer es crear una estructura y así no tendré este tipo de problemas, serán otros.... Repito, ¡gracias! Título: Re: Error en la definición de una función Publicado por: ivancea96 en 18 Abril 2016, 14:44 pm Si utilizas C++, y veo que así es, utiliza <complex>.
Si tienes errores, revisa una cosa: la clase "complex" es del namespace "std". Así que o pones una directiva using, por ejemplo "using namespace std;", o std::complex. No sé si lo estás poniendo, pero solo adelanto por si acaso. Luego, si tienes más errores, leelos y trata de corregirlos. Sinó, pon los errores y el código implicado. Título: Re: Error en la definición de una función Publicado por: iramonf en 19 Abril 2016, 10:36 am Gracias a Gunhack y a ivancea96
He optado por definir una estructura porque tampoco necesito realizar muchas operaciones con números complejos. Básicamente el sacar la parte real, la imaginaria y calcular su módulo. Mis conocimientos de C están un tanto oxidados y estoy intentando recuperar unos programillas que hice hace años con Borland sobre fractales y ayer ya empezó la cosa a visualizarse. Título: Re: Error en la definición de una función Publicado por: DanFire en 19 Abril 2016, 11:26 am He optado por definir una estructura No seria mas interesante usar una clase? por cierto, si lo haces asi no da errores... Código
Título: Re: Error en la definición de una función Publicado por: iramonf en 21 Abril 2016, 00:13 am Si utilizas C++, y veo que así es, utiliza <complex>. Si tienes errores, revisa una cosa: ... Te he hecho caso y parece que se va aclarando el panorama pero ahora tengo dos dudas muy elementales pero que creo que pueden ser las últimas: ¿Cómo asigno un valor a una variable compleja? ¿Cómo extraigo la parte real y la parte imaginaria de una variable compleja?. Con Borland lo hacía de una manera que ahora no me funciona y estoy haciendo pruebas y no doy con la solución. Gracias Título: Re: Error en la definición de una función Publicado por: MAFUS en 21 Abril 2016, 00:30 am Pásate por la página que te ha dado Gunhack. En ella te explican como usar esa clase.
Título: Re: Error en la definición de una función Publicado por: HardForo en 21 Abril 2016, 01:14 am Veo estas mezclando bastante:
Citar #include <complex.h> void funcion(complex <double>, complex <double>, complex <double>, int); Dices que usas GCC asi que te muestro un ejemplo en C pero tambien por si quieres usar C++ el mismo ejemplo traducido: Código
Código
Hay unas cuantas diferencias como podras ver y la version en C++ no te compilará en C (con gcc) ni viceversa Título: Re: Error en la definición de una función Publicado por: iramonf en 21 Abril 2016, 18:07 pm Gracias, muy amable.
En realidad mi única pregunta tendría que ser si me podéis recomendar un libro o un manual para resolver dudas sin necesidad de ser pesado. Si programo es por afición pues me lo paso muy bien machacando las neuronas. Gracias Título: Re: Error en la definición de una función Publicado por: HardForo en 21 Abril 2016, 18:13 pm Tambien estoy aprendiendo pero no sigo ningun libro....... aunque hay libros "de referencia", investiga
|