c - Casting a NULL pointer function argument resulted in violation of Misra Rule 11.3 -


मैं NULL_PTR जैसा कि 0U

फिर इस कोड के साथ एक समारोह को कॉल करें- तर्क के रूप में NULL_PTR

  read_some_data (2U, (uint8_t * const) NULL_PTR, (uint8_t * const) NULL_PTR);   

कॉल किया गया फ़ंक्शन प्रोटोटाइप:

  int16_t read_some_data (कॉन्स्ट यूआईटी 8_टी आईडी, यूआईटी 8_टी * कॉन्स्ट डेटा_1, यूआईटी 8_टी * कॉन्स्ट डेटा_2);   

संकलन पर, मिश्रा ने एक नियम 11.3 उल्लंघन त्रुटि उठाई। (एक कलाकार को एक सूचक प्रकार और एक अभिन्न प्रकार के बीच नहीं किया जाना चाहिए।)

लेकिन अगर मैं सिर्फ इस रूप में NULL_PTR पास करें, कोई उल्लंघन नहीं है।

  read_some_data (2U, NULL_PTR, NULL_PTR);   

कौन सा बेहतर तरीका है? मिसरा 11.3 नियम को दबाएं या कूट बिना NULL_PTR पास करें?

क्या है मानक 'NULL' के साथ गलत है?

Comments