を次のように定義しNULL_PTR
ます0U
NULL_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
それともキャストせずにそのまま渡しますか?