|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Rovereto (tn)
Messaggi: 2187
|
[C] struct, vettore di struct errore
questa è la parte del codice:
Codice:
typedef struct
{
char cmd[100];
int pid;
} t_figlio;
#define MAX_FIGLI 100
t_figlio figli[MAX_FIGLI];
int tot=0;
void update_figli(int pid,char * arg){
int i=0;
while(i<MAX_FIGLI && figli[i]!=pid) i++;
strcpy(figli[i].cmd,arg);
}
void init_figli(){
int i;
for(i=0;i<MAX_FIGLI;i++)
figli[i].pid=0;
}
void add_figlio(int pid){
int i;
i=0;
while(i<MAX_FIGLI && figli[i]!=0) i++;
figli[i].pid=pid;
tot=i;
}
void rem_figlio(int pid){
int i,k;
i=0;
while(i<MAX_FIGLI && figli[i]!=pid) i++;
if (i==tot) exit(-1);
for(k=i;k<tot;k++) {
figli[k].pid=figli[k+1].pid;
strcpy(figli[k].cmd,figli[k].cmd)
}
tot--;
}
Codice:
figli.c:13: error: syntax error before ‘figli’ figli.c:13: warning: data definition has no type or storage class figli.c: In function ‘update_figli’: figli.c:19: error: request for member ‘cmd’ in something not a structure or union figli.c: In function ‘init_figli’: figli.c:25: error: request for member ‘pid’ in something not a structure or union figli.c: In function ‘add_figlio’: figli.c:32: error: request for member ‘pid’ in something not a structure or union figli.c: In function ‘rem_figlio’: figli.c:42: error: request for member ‘pid’ in something not a structure or union figli.c:42: error: request for member ‘pid’ in something not a structure or union figli.c:43: error: request for member ‘cmd’ in something not a structure or union figli.c:43: error: request for member ‘cmd’ in something not a structure or union figli.c:44: error: syntax error before ‘}’ token figli.c: In function ‘jobs’: figli.c:54: error: request for member ‘pid’ in something not a structure or union figli.c:60: error: request for member ‘cmd’ in something not a structure or union figli.c:62: error: request for member ‘cmd’ in something not a structure or union figli.c:69: error: request for member ‘cmd’ in something not a structure or union figli.c:71: error: request for member ‘cmd’ in something not a structure or union make: *** [figli.o] Error 1 stefano@ubuntu:~/shell$ make figli.c:13: error: syntax error before ‘figli’ figli.c:13: warning: data definition has no type or storage class figli.c: In function ‘update_figli’: figli.c:19: error: request for member ‘cmd’ in something not a structure or union figli.c: In function ‘init_figli’: figli.c:25: error: request for member ‘pid’ in something not a structure or union figli.c: In function ‘add_figlio’: figli.c:32: error: request for member ‘pid’ in something not a structure or union figli.c: In function ‘rem_figlio’: figli.c:42: error: request for member ‘pid’ in something not a structure or union figli.c:42: error: request for member ‘pid’ in something not a structure or union figli.c:43: error: request for member ‘cmd’ in something not a structure or union figli.c:43: error: request for member ‘cmd’ in something not a structure or union figli.c:44: error: syntax error before ‘}’ token figli.c: In function ‘jobs’: figli.c:54: error: request for member ‘pid’ in something not a structure or union figli.c:60: error: request for member ‘cmd’ in something not a structure or union figli.c:62: error: request for member ‘cmd’ in something not a structure or union figli.c:69: error: request for member ‘cmd’ in something not a structure or union figli.c:71: error: request for member ‘cmd’ in something not a structure or union make: *** [figli.o] Error 1 |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Ho preso il tuo codice pari pari, gli ho solo messo all'inizio 2 include (<string.h> e <stdlib.h>) e poi ho compilato con:
gcc -Wall -c -o prova.o prova.c Risultato: Codice:
prova.c: In function `update_figli': prova.c:17: invalid operands to binary != prova.c: In function `add_figlio': prova.c:30: invalid operands to binary != prova.c: In function `rem_figlio': prova.c:39: invalid operands to binary != prova.c:44: syntax error before '}' token Codice:
void update_figli(int pid,char * arg){
int i=0;
while(i<MAX_FIGLI && figli[i].pid!=pid) i++;
strcpy(figli[i].cmd,arg);
}
Codice:
void add_figlio(int pid){
int i;
i=0;
while(i<MAX_FIGLI && figli[i].pid!=0) i++;
figli[i].pid=pid;
tot=i;
}
Codice:
void rem_figlio(int pid){
int i,k;
i=0;
while(i<MAX_FIGLI && figli[i].pid!=pid) i++;
if (i==tot) exit(-1);
for(k=i;k<tot;k++) {
figli[k].pid=figli[k+1].pid;
strcpy(figli[k].cmd,figli[k].cmd);
}
tot--;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:20.



















