c++ - ',' 标记之前的预期主表达式

标签 c++ expected-exception

<分区>

我目前收到错误:

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 简化版:

class Task
{
          friend class TaskManager;
              private:
                  uint8_t stack[4096]; // 4 KiB
                  CPUState* cpustate;
              public:


              Task(gdt *GlobalDescriptorTable, void entrypoint());
              ~Task();
    };


    class TaskManager
    {
            private:
                Task* tasks[256];
                uint32_t num_task;
                uint32_t current_task;
            public:
                TaskManager();
                ~TaskManager();
                bool AddTask(Task* task);
                CPUState* Schedule(CPUState* cpustate);
    };

如果您想在此处查看 task.h 的完整代码,它是:https://github.com/amanuel2/OS_Mirror/blob/master/task.h ..

最后最小化task.c++:

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

如果您想在此处查看实际的 task.c++,它是:https://github.com/amanuel2/OS_Mirror/blob/master/task.c%2B%2B .. 我不明白为什么我会收到那个错误。任何帮助将不胜感激。

最佳答案

你的错误可能在这两行:

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

应该是

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

您应该更改您的类型名称和变量名称,使它们看起来不太相似,从而避免此类错误。

关于c++ - ',' 标记之前的预期主表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39401912/

相关文章:

c++ - 搜索相似对象

c++ - 在指针 vector 中释放内存的正确方法? (C++)

c++ - 请一点 C++ 帮助(重复输出)

php - 如何断言错误而不是phpunit中的异常?

c - 第一行函数名称之前的预期标识符

C++(嵌套)函数调用指令——寄存器

c++ - 浏览器中的多线程 WebAssembly 比单线程慢,为什么?

java - 使用 dataprovider 设置 expectedExceptions

java - ExpectedException 的原因是什么?