2011-03-01 146 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