[C] - Duda salida gcc

Iniciado por h0oke, 22 Mayo 2010, 21:05 PM

0 Miembros y 1 Visitante están viendo este tema.

h0oke

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);
}

Eternal Idol

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?
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

h0oke


nicolasblues86

#3
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


Solamente hay 10 clases de personas en el mundo los que saben leer binario y los que no