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

+0

또는 오류의 의미를 알려주시겠습니까? "잊어 버렸습니다." 확실히? – Dchris

답변

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 컴파일 ... – Dchris

+1

정답은 Baltasarq가 쓴 것입니다. c/C++에서는 호출하기 전에 함수를 선언해야합니다. – Iraklis