2016-09-09 5 views
1
임 현재 오류 받고

:예상되는 주요 표현 ','

kernel.c++:76:21: error: expected primary-expression before ',' token 
    Task task1(&gdt , taskA); 
        ^
kernel.c++:77:21: error: expected primary-expression before ',' token 
    Task task2(&gdt , taskB); 

확실하지 왜이 여기 일이 내 kernel.c의 코드 ++ 간단하다 :

void taskA(); 
void taskB(); 

extern "C" void kernelMain 
     (
      /*arguments...*/ 
     ) 


{ 
     gdt gt; 

     TaskManager taskManager; 
     Task task1(&gdt , taskA); 
     Task task2(&gdt , taskB); 
     taskManager.AddTask(&task1); 
     taskManager.AddTask(&task2); 
} 

void taskA() 
{ 
    while(true) 
     printf("A"); 
} 


void taskB() 
{ 
    while(true) 
     printf("B"); 
} 

하는 경우 https://github.com/amanuel2/OS_Mirror/blob/master/kernel.c%2B%2B ... 여기

내 task.h 단순화되는 모든 도움말 :

내 실제 커널 코드를보고 싶어 ++

.. https://github.com/amanuel2/OS_Mirror/blob/master/task.h 마지막 최소화 록한다 9 task.c : 당신이 여기 task.h에 대한 전체 코드를 보려면

그 것이다

Task::Task(gdt *GlobalDescriptorTable, void entrypoint()) 
{ 
/*Stuff Happenes Here.. But i Minimized it*/ 
} 

당신이 실제 록한다 9 task.c를보고 싶다면 ++ 여기있다 : https://github.com/amanuel2/OS_Mirror/blob/master/task.c%2B%2B .. 나는 왜 나는 그 오류를 이해하지 못한다. 어떤 도움을 주셔서 감사합니다 크게 감사합니다.

+2

'gdt'가 유형이 아닙니까? 나는 당신이'task1'과'task2'를 만들거나 오타 였을 때'& gt'를 원한다고 생각합니까? –

+0

은 변수 대신 형식에 대해 다른 명명 규칙을 사용하도록 제안합니다. –

+0

죄송합니다. @TimothyMurphy .. 내 잘못입니다. 그것의 지금 해결 된. 고맙습니다,이 질문을 삭제해야합니까? – amanuel2

답변

3

귀하의 오류가이 두 줄에 아마도 :

Task task1(&gdt , taskA); 
Task task2(&gdt , taskB); 

그것은 그들이 그만큼 너무 닮았하지 않도록

Task task1(&gt , taskA); 
Task task2(&gt , taskB); 

당신은 당신의 유형 이름 및 변수 이름을 변경해야해야 이러한 종류의 오류를 피하십시오.