2011-03-01 184 views
0

我有使用鏈接lists.when我編譯隊列的程序,它具有以下錯誤:隊列實現

expected ‘)’ before ‘*’ token >>in 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; 
} 
+0

主要在哪裏?你是從一個函數內調用dimiourgia()嗎?看起來你忘記了一個代碼中的';'或')',這個代碼不在這裏。 – nmichaels 2011-03-01 17:34:29

+0

或者如果你可以告訴我錯誤的含義是什麼,它「忘了」;當然? – Dchris 2011-03-01 17:40:19

回答

3

你應該把dimiougia函數的定義在結構聲明和主之間。否則,您需要之前的聲明:

void dimiourgia(Q *oura); 

這不是很清楚在哪裏可以在你的程序發生了錯誤,但是,當不認識結構Q通常獲得的錯誤消息。

0

下面的代碼編譯正確我!

#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() { 
} 
+0

exw ena panomoiotypo kwdika pou episis kanei compile ... – Dchris 2011-03-01 17:42:59

+1

正確答案是Baltasarq寫的。在c/C++中,你必須先聲明你的函數,然後才能調用它。 – Iraklis 2011-03-01 17:51:31