1

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

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

4

1 回答 1

3

在使用 C++ 编程时,您正在使用 C 的 MISRA 检查器。

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

您应该使用MISRA C++:2008

于 2014-02-03T10:50:01.983 回答