【问题标题】:Highest operation, a 'constant', lacks side-effects [MISRA 2004 Rule 14.2]最高操作,“常数”,没有副作用 [MISRA 2004 Rule 14.2]
【发布时间】:2014-02-26 18:23:21
【问题描述】:

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

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

【问题讨论】:

标签: c++ lint misra


【解决方案1】:

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

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

您应该使用MISRA C++:2008

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2011-11-13
    • 1970-01-01
    • 2021-07-25
    相关资源
    最近更新 更多