leecny2012 发表于 2012-11-28 12:01:14

为什么OSQPost函数在调用他前,有人喜欢加(void)?

MODBUS的一个代码:
voidMB_OS_RxSignal (MODBUS_CH *pch)
{
    if (pch != (MODBUS_CH *)0) {
      switch (pch->MasterSlave) {
#if (MODBUS_CFG_MASTER_EN == DEF_ENABLED)
            case MODBUS_MASTER:
               (void)OSSemPost(MB_OS_RxSemTbl);
               break;
#endif

#if (MODBUS_CFG_SLAVE_EN == DEF_ENABLED)
            case MODBUS_SLAVE:
            default:
               (void)OSQPost(MB_OS_RxQ,
                               (void *)pch);
               break;
#endif
      }
    }
}

OSQPost前为啥要加个void,不加还不是可以用?

wizshare 发表于 2022-12-2 14:26:53

本帖最后由 wizshare 于 2022-12-2 14:37 编辑

同样困惑中,搜索了一下,函数调用语句前增加VOID关键字,可能是为了不使用返回值时抑制编译器的警告
https://stackoverflow.com/questions/689677/why-cast-unused-return-values-to-void

polarbear 发表于 2022-12-2 14:54:50

这个和广东人吃饭前,用茶水烫碗的道理一样
页: [1]
查看完整版本: 为什么OSQPost函数在调用他前,有人喜欢加(void)?