在结构定义中''''标记之前预期''
我有一个struct我正在模拟一个简单的信号量的情况下,代码如下
struct semaphore{
int count = 1;
struct PCB *Sem_Queue;
};
当我尝试编译时,我得到错误
在'='token int count = 1之前预期的':',','等;
任何人都可以指出为什么这个错误发生?
我假设你正在尝试为struct定义中的字段设置默认值。
你不可以做这个。
您必须像使用PCB一样声明count字段:仅使用类型和名称,如下所示:
int count;
在C中,你不允许给struct s中的元素struct初始值。 如果你想创建一个semaphore结构,每个新的semaphore的count字段设置为1,你可以通过创建一个辅助函数
struct semaphore* semaphore_new()
返回一个新分配的semaphore*并在返回它之前设置count字段。
上一篇: Expected ' ' before '=' token in struct definition
下一篇: Arduino (C)
