在结构定义中''''标记之前预期''
我有一个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)