我将 a 定义NULL_PTR
为0U
然后以 thisNULL_PTR
作为参数调用一个函数。
read_some_data(2U, (uint8_t *const) NULL_PTR, (uint8_t *const) NULL_PTR);
调用函数原型:
int16_t read_some_data(const uint8_t id, uint8_t *const data_1, uint8_t *const data_2);
在编译时,Misra 引发了违反规则 11.3 的错误。(不应在指针类型和整数类型之间执行强制转换。)
但如果我只是通过NULL_PTR
如下,没有违规。
read_some_data(2U, NULL_PTR, NULL_PTR);
哪种方法更好?抑制 Misra 11.3 规则还是直接通过NULL_PTR
不强制转换?