在过去,我被教导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)
是什么导致了这个错误