реализация очереди в C ошибки компиляции - PullRequest
0 голосов
/ 01 марта 2011

У меня есть программа с очередями, использующими связанные списки. Когда я компилирую ее, она имеет следующую ошибку:

ожидается ‘)’ до токена ‘*’ >> в error_line

///USEFUL PART OF THE PROGRAM
//queue struct
typedef struct{
    int embros,piso,adeia;
    int pinakas[PLITHOS];
}Q;

int main(){
    Q oura_apo; //define a new queue

    dimiourgia(&oura_apo);//create the new queue

return 0;
}

//this function creates a new empty list

void dimiourgia(Q *oura){  //this is error_line
    oura->embros=0;
    oura->piso=0;
}

Ответы [ 2 ]

3 голосов
/ 01 марта 2011

Вы должны поместить определение функции dimiougia между объявлением структуры и main.В противном случае вам нужно предшествующее объявление:

void dimiourgia(Q *oura);

Не очень понятно, где может произойти ошибка в вашей программе, однако сообщение об ошибке обычно получается, когда структура Q не распознана.

0 голосов
/ 01 марта 2011

Следующий код компилируется правильно для меня!

#define PLITHOS 10
typedef struct{    
int embros,piso,adeia;
int pinakas[PLITHOS];
}Q;
Q oura_apo; 

void dimiourgia(Q *oura){   
oura->embros=0;   
oura->piso=0;
}

int main() {
}
...