"","标记之前的预期主表达式
expected primary-expression before ',' token
本文关键字:表达式 更新时间:2023-10-16
我现在得到的错误:
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);
不确定为什么会发生这种情况,这里是我的内核代码。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 ..任何帮助
下面是我的任务。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 ..
and finally minimize 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(> , taskA);
Task task2(> , taskB);
您应该更改类型名称和变量名称,使它们看起来不那么相似,以避免此类错误。
相关文章:
- (C++)分析树以计算返回错误值的简单算术表达式
- 在VS2010-VS2015下编译时,如何使用decltype作为较大类型表达式的LHS
- 提升精神:解析布尔表达式并简化为规范范式
- 不能在初始值设定项列表中将非常量表达式从类型 'int' 缩小到'unsigned long long'
- 使用正则表达式regex_search在字符串中查找字符串
- 如何确认我的constexpr表达式实际上已经在编译时执行
- 概念中的cv限定符需要表达式参数列表
- 为什么constexpr的性能比正常表达式差
- 对于结构,表达式必须是可修改的ivalue
- 当一个值是非常量但用常量表达式初始化时使用constexpr
- 将fold表达式与std::一起用于两个元组
- 断言中的Fold表达式在某些计算机上编译,但在其他计算机上不编译
- 标记 '","' 之前的预期主表达式
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- 如何计算具有指定类型的表达式的相对精度和绝对精度
- 带有用户定义类的c++折叠表达式
- 即使使用调试编译标志,表达式也是"optimized out"
- holeMenuProgram.cpp:38:1 错误:'}'令牌之前的预期主表达式
- 在 C++ 中使用正则表达式错误时出现问题 括号表达式中的范围无效
- 这 4 个 lambda 表达式之间有什么区别?