hello,
can someone help in removing these errors from my c code:
prog.h code:
prog.c code starting from line 44Code:typedef struct iosig { int signal_name; int signal_sub; }IoSignal; typedef struct contsig { int diff; /* 1, 2, etc. 0 if no derivative */ int power; /* 2, 3, etc. 1 if no power */ IoSignal iosig; struct contsig *next; }ContSig; typedef struct contterm { double coeff; ContSig *csig, *csig_tail; /* could be NULL if just const coeff */ struct contterm *next; }ContTerm; typedef struct Conteqn { double coeff; ContTerm *cterm, *cterm_tail; /* could be NULL if just const coeff */ struct conteqn *next; }ContEqn; extern ContEqn *new_conteqn(int i,ContTerm *cterm); extern ContTerm *new_cterm( ContSig *csig); extern ContSig * new_csig ( int i,IoSignal iosig,int j); extern IoSignal iosign( int i,int j); extern void append_conteqn( ContEqn *conteqn,ContTerm *cterm); extern ContEqn* append_cterm( ContEqn *conteqn, int sig ,ContTerm *cterm); extern void append_csig( ContTerm *cterm,ContSig *csig);
errors:Code:Conteqn *new_conteqn(int i,ContTerm *cterm) { struct Conteqn *e = malloc( sizeof( struct conteqn )); if( e == NULL) { yyerror( "new_node: malloc failed"); exit(1); } e->coeff = i; e->cterm = e->cterm_tail = cterm; e->next = NULL; return e; } void append_conteqn( Conteqn *conteqn,ContTerm *cterm) { conteqn->cterm_tail->next =cterm; conteqn->cterm_tail=cterm; } ContTerm *new_cterm( ContSig *csig) { struct contterm *e = malloc( sizeof( struct ContTerm) ); if( e == NULL) { yyerror( "new_node: malloc failed"); exit(1); } e->csig = e->csig_tail = csig; e->next = NULL; return e; } void append_cterm( ContTerm *cterm, int sig, ContSig *csig) { cterm->csig_tail->next = csig; cterm->csig_tail = csig; cterm->coeff = sig; } ContSig * new_csig ( int i, IoSig iosig, int j) { struct contsig *e = malloc( sizeof( struct ContSig)); if( e == NULL) { yyerror( "new_node: malloc failed"); exit(1); } e->iosig = iosig; e->diff=i; e->power =j; e->next = NULL; return e; } void append_csig( ContSig *csig , IoSignal* iosig ) { csig->iosig.next = iosig; csig->iosig = iosig; csig->diff = csig->diff; csig->power = csig->power; } IoSignal iosign( int i,int j) { IoSignal x; x.signal_name = i; x.signal_sub = j; return x; }
jpj.c: At top level:
jpj.c:44: parse error before '*' token
jpj.c:45: warning: return type defaults to `int'
jpj.c:45: conflicting types for `new_conteqn'
jpj.h:52: previous declaration of `new_conteqn'
jpj.c: In function `new_conteqn':
jpj.c:46: sizeof applied to an incomplete type
jpj.c:55: warning: return from incompatible pointer type
jpj.c: At top level:
jpj.c:58: parse error before '*' token
jpj.c: In function `append_conteqn':
jpj.c:59: number of arguments doesn't match prototype
jpj.h:60: prototype declaration
jpj.c:60: `conteqn' undeclared (first use in this function)
jpj.c:60: `cterm' undeclared (first use in this function)
jpj.c: In function `new_cterm':
jpj.c:67: sizeof applied to an incomplete type
jpj.c: At top level:
jpj.c:80: conflicting types for `append_cterm'
jpj.h:62: previous declaration of `append_cterm'
jpj.c:86: parse error before "IoSig"
jpj.c: In function `new_csig':
jpj.c:87: number of arguments doesn't match prototype
jpj.h:56: prototype declaration
jpj.c:88: sizeof applied to an incomplete type
jpj.c:94: `iosig' undeclared (first use in this function)
jpj.c:95: `i' undeclared (first use in this function)
jpj.c:96: `j' undeclared (first use in this function)
jpj.c: At top level:
jpj.c:102: conflicting types for `append_csig'
jpj.h:64: previous declaration of `append_csig'
jpj.c: In function `append_csig':
jpj.c:103: structure has no member named `next'
jpj.c:104: incompatible types in assignment
regards,
cutelucks



LinkBack URL
About LinkBacks




