我正在尝试使用消息队列在父进程和子进程之间发送和接收消息,我使用 enum 为 msgrcv 设置消息类型,但它似乎忽略了该信息:
enum children {
e_father_child1 = 1,
e_father_child2 = 2,
e_child1_father = 10,
e_child2_father = 20
};
命令是:
queue_indc = msgrcv (msgid, &msg, sizeof (msg.m_data), e_child1_father, 0);
如果我将参数从 enum 类型更改为 int ,它会起作用,但我想知道为什么它不能作为 enum 工作,还有其他方法可以让它工作。
提前致谢!