Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: h0oke en 22 Mayo 2010, 21:05 PM

Título: [C] - Duda salida gcc
Publicado por: h0oke en 22 Mayo 2010, 21:05 PM
A que se debe el siguiente mensaje?

Citargcc Agenda.c
/tmp/ccL3qioR.o: In function `main':
Agenda.c:(.text+0x7b): undefined reference to `data_new_write'
collect2: ld returned 1 exit status

Parte del code:

...
void data_new_write(st_p, char *, int *);
...
int main(){
...
data_new_write(*user, path, &e);
...
}
void data_write(st_p P, char *path, int *error){
  FILE *f;
  *error = 0;
  f = fopen(path, "w+");
  if(f)
   fprintf(f, "%s%s%s%u", P.name, P.dir, P.phone, P.age);
  else
    *error = 1;
  close(f);
}
Título: Re: [C] - Duda salida gcc
Publicado por: Eternal Idol en 22 Mayo 2010, 21:08 PM
Mira atentamente:
void data_new_write(st_p, char *, int *);
data_new_write(*user, path, &e);
void data_write(st_p P, char *path, int *error){

¿Donde esta new en la tercera linea?
Título: Re: [C] - Duda salida gcc
Publicado por: h0oke en 22 Mayo 2010, 21:14 PM
Creo que estoy saturado.
Título: Re: [C] - Duda salida gcc
Publicado por: nicolasblues86 en 22 Mayo 2010, 21:33 PM
el prototipo de la función es este: void data_new_write(st_p, char *, int *);

pero cuando  definís su contenido pones esto:  void data_write(st_p P, char *path, int *error)


es lo mismo que pongas en el prototipo: void M (st_p, char *, int *)

y después pongas: void hola (st_p P, char *path, int *error){



es decir no son iguales, tienen que serlo...
saludos