近期看到一个哥们用c++写嵌入式,感觉蛮有趣,如果当初我的程序要是能用类就轻松多了,所以也想尝试一下。虽然不会c++但是还是多少会用简单的class,这个c#上用了不少。我的工程包括usb和 rtos,设置使用cpp编译,c99通过的程序编译错误一大堆,主要在usb和cmsis_os里,这里随便粘贴其中一条错误C:/Users/ME/
STM32Cube/Repository/STM32Cube_FW_F1_V1.4.0/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c(791): error: #513: a value of type "void *" cannot be assigned to an en
tity of type "osPoolId",程序代码如下thePool = pvPortMalloc(sizeof(os_pool_cb_t));由于不懂c++,查阅资料得知c99编译器是允许暗含转换的,但是c++不允许,因此出现错误。我的程序是用cubemx生成的,难道我要在错误的地方全部加上强制转换吗?比如thePool = (osPoolId)pvPortMalloc(sizeof(os_pool_cb_t)),改写之后此条语句cpp编译正确。大家有其他方法吗?我不想动第三方库。谢谢