为什么我无法在结构中初始化条件变量? 我希望每个节点都有一个条件变量,这样我就可以等待并发出信号,当我添加初始化代码时,它会抛出此错误: 在“=”标记之前应使用“:”、“,”、“;”、“}”或“属性” make: * [trie.o] 错误 1
我尝试在需要时在某个地方(不在结构中)进行初始化,但仍然出现错误,我已经包含了 pthreads.h
struct trie_node {
pthread_cond_t condition=PTHREAD_COND_INITIALIZER;
};
最佳答案
初始化结构成员时不能使用PTHREAD_COND_INITIALIZER
。
你必须使用 pthread_cond_init
在创建结构实例之后。
实际上,结构定义中根本不能初始化结构成员,不仅仅是这个。
关于c - 无法在结构中初始化条件变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15976043/