小编NEW*_*IEE的帖子

为什么C编译器可以编译此代码,即使C++编译器不能?

在过去,我被教导C++编译器一般可以编译C语言代码,除了混合C和C++代码.但是,我在这段代码中遇到了一个我无法理解的错误

该代码可以通过GCC的C语言编译器编译,但是GCC的C++编译器不能编译,因为下面这个错误代码,44|error: expected unqualified-id before ‘xor’ token|crc_update函数.

static uint16_t crc_update(uint16_t crc_in, int incr)
{
    uint16_t xor = crc_in >> 15;
    uint16_t out = crc_in << 1;

    if (incr)
        out++;

    if (xor)
        out ^= CRC_POLY;

    return out;
}
Run Code Online (Sandbox Code Playgroud)

是什么导致了这个错误

c++ gcc

3
推荐指数
2
解决办法
214
查看次数

标签 统计

c++ ×1

gcc ×1