Наивысшая операция, «постоянная», лишена побочных эффектов [Правило 14.2 MISRA 2004]

Привет, это часть моего кода и я получаю предупреждение MISRA для этой логики
код:

#define NASSERT(x) std::_nassert(x)

void fun(
const uint8_t  * restrict  src ,
uint8_t        * restrict  dst
){
NASSERT(((int32_t) src % 8) == 0); //line 1
NASSERT(((int32_t) dst % 8) == 0); //line 2
}

Предупреждения: (как в строке 1, так и в строке 2)

Warning 522: Highest operation, a 'constant', lacks side-effects [MISRA 2004 Rule 14.2]
Error 40: Undeclared identifier 'std'

Можете ли вы помочь мне решить эту проблему …

0

Решение

Вы используете MISRA для проверки C, в то время как вы программируете на C ++.

MISRA C: 2004 для языка программирования C.

Вы должны использовать MISRA C ++: 2008.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]