在结构定义中''''标记之前预期''

我有一个struct我正在模拟一个简单的信号量的情况下,代码如下

struct semaphore{
    int count = 1;
    struct PCB *Sem_Queue;
};

当我尝试编译时,我得到错误

在'='token int count = 1之前预期的':',','等;

任何人都可以指出为什么这个错误发生?


我假设你正在尝试为struct定义中的字段设置默认值。

你不可以做这个。

您必须像使用PCB一样声明count字段:仅使用类型和名称,如下所示:

int count;

在C中,你不允许给struct s中的元素struct初始值。 如果你想创建一个semaphore结构,每个新的semaphorecount字段设置为1,你可以通过创建一个辅助函数

 struct semaphore* semaphore_new()

返回一个新分配的semaphore*并在返回它之前设置count字段。

链接地址: http://www.djcxy.com/p/84395.html

上一篇: Expected ' ' before '=' token in struct definition

下一篇: Arduino (C)