Autor
|
Tema: Problema con Punteros en C (Leído 4,100 veces)
|
aaronas
Desconectado
Mensajes: 3
|
Hola a tod@s, me gustaría que me ayudasen con un problema que tengo al hacer un programa usando punteros en C. El programa es el siguiente: #include <stdio.h> #include <stdlib.h> struct point { float x,y; }; /* Function */ void function(struct point *Tk, struct point Tz, float fi) { Tk -> x =Tz. x*cos(fi )-Tz. y*sin(fi ); Tk -> x =Tz. x*sin(fi )-Tz. y*cos(fi ); } /* Call */ function(&Tk,Tz,fi); }
Este programa me da error en la línea de: [ function(&Tk,Tz,fi);]; me pone: - Conflicting types for 'function' - Syntax error before '&' token Si me podeis ayudar, os lo agradecería muchísimo. Gracias de antemano.
|
|
« Última modificación: 31 Marzo 2012, 21:34 pm por Eternal Idol »
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
Antes que nada, utiliza las etiquetas GeSHi para postear código. Sobre tu problema, es porque le estás pasando un puntero doble al invocar la función. Tu variable "Tk" es del tipo (struct point*), por ende, ya es del tipo especificado en la función. No debes colocar el ampersand "&" cuando llamas a la función. Simplemente: function(Tk,Tz,fi);
|
|
|
En línea
|
|
|
|
durasno
Desconectado
Mensajes: 373
|
Hola! q raro yo no veo ningun error, podrias subir el codigo completo o la parte q declaras a Tz y Tk
Saludos
|
|
« Última modificación: 31 Marzo 2012, 21:07 pm por durasno »
|
En línea
|
Ahorrate una pregunta, lee el man
|
|
|
aaronas
Desconectado
Mensajes: 3
|
Se me paso Ferno, gracias.
Con respecto a quitar el ampersand '&', aunque lo quite sigue el mismo error, y además me pone:
- [WARNING] parameter names [without types] in function declaration.
Respondiendo tu pregunta durasno, el código está completo.
Muchas gracias por responder.
|
|
|
En línea
|
|
|
|
Ferno
Desconectado
Mensajes: 375
|
¿Es el code completo? ¿Y el main? Todo programa en C debe comenzar y terminar en la función main! int main (int argc, char* argv[]) { /*Código de tu programa*/ }
La llamada a tu función "function" debe darse dentro del main! (La declaración del struct (tipos) y la implementación de la función no). EDIT: Agrego, las variables que vayas a utilizar en la llamada a la función también debes declararlas en algún lado, y en este caso, debe ser en el main.
|
|
|
En línea
|
|
|
|
durasno
Desconectado
Mensajes: 373
|
Yo solo veo esto y no me parece todo el codigo
#include <stdio.h> #include <stdlib.h> struct point { float x,y; }; /* Function */ void function(struct point *Tk, struct point Tz, float fi) { Tk-> x=Tz.x*cos(fi)-Tz.y*sin(fi); Tk-> x=Tz.x*sin(fi)-Tz.y*cos(fi); } /* Call */ function(&Tk,Tz,fi); system("PAUSE"); }
|
|
|
En línea
|
Ahorrate una pregunta, lee el man
|
|
|
aaronas
Desconectado
Mensajes: 3
|
Gracias durasno por responder,
El problema es que acabo de empezar con punteros, y ese es el código completo que nos dejó el profesor para que lo escribiésemos en el programa. Y no tengo ni idea. Es mi primera clase. Si puedieses decirme como sería la forma correcta, te lo agradecería.
Muchas gracias.
|
|
|
En línea
|
|
|
|
durasno
Desconectado
Mensajes: 373
|
Ah ok! ahora ya entendi ... Completando mas o menos seria asi: #include <stdio.h> #include <stdlib.h> struct point { float x,y; }; /* Function */ void function(struct point *Tk, struct point Tz, float fi) { Tk -> x =Tz. x*cos(fi )-Tz. y*sin(fi ); Tk -> y =Tz. x*sin(fi )-Tz. y*cos(fi ); } int main() { struct point Tk; struct point Tz; float fi; /*----------------- aca pedis los datos para Tz ........................*/ function(&Tk,Tz,fi);/* call */ return 0; }
|
|
|
En línea
|
Ahorrate una pregunta, lee el man
|
|
|
david_BS
|
en lugar de system + "pause" podés usar printf("Presione ENTER para continuar..\n"); while (getchar() != '\n'); así no usás system
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Problema con punteros.
Programación C/C++
|
vazquinhos
|
4
|
2,742
|
20 Septiembre 2012, 18:35 pm
por do-while
|
|
|
Problema con punteros
Programación C/C++
|
NEGRO_PABLO
|
3
|
2,941
|
30 Noviembre 2012, 18:41 pm
por twins
|
|
|
Problema con iterador a lista de punteros
Programación C/C++
|
SrCooper
|
4
|
3,107
|
24 Julio 2013, 15:43 pm
por Eternal Idol
|
|
|
problema con doble punteros
Programación C/C++
|
m@o_614
|
5
|
2,359
|
30 Enero 2014, 18:20 pm
por rir3760
|
|
|
Problema con la notación de punteros
Programación C/C++
|
apoeti
|
5
|
2,956
|
11 Julio 2014, 00:32 am
por apoeti
|
|