最高的操作,“恒定”,没有副作用[MISRA 2004 Rule 14.2]

时间:2014-02-03 10:09:52

标签: c++ lint misra

嗨,这是我的代码的一部分,并为此逻辑获取一些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'

你能指导我解决这个问题......

1 个答案:

答案 0 :(得分:3)

当您使用C ++进行编程时,您正在使用C的MISRA检查程序。

MISRA C:2004用于C编程语言。

您应该使用MISRA C++:2008