为什么在C中的“int16\t”错误之前得到预期的表达式?

为什么在C中的“int16\t”错误之前得到预期的表达式?,c,unions,C,Unions,我正在处理这个函数 int max30205_write_trip_low_thyst(float temperature)//, I2C &i2c_bus) { max30205_raw_data raw; temperature /= MAX30205_CF_LSB; raw.swrd = int16_t(temperature); // here -> expected expression before 'int16_t' return ma

我正在处理这个函数

int max30205_write_trip_low_thyst(float temperature)//, I2C &i2c_bus)
{
    max30205_raw_data raw;
    temperature /= MAX30205_CF_LSB;
    raw.swrd = int16_t(temperature); // here -> expected expression before 'int16_t'
    return max30205_write_reg16(raw.swrd, MAX30205_REG_THYST_LOW_TRIP);//, i2c_bus);
}
当我试图编译时,我得到了以下错误 “int16\t”之前的预期表达式

为什么会这样

查看头文件,我看到了

#define MAX30205_CF_LSB           (0.00390625F)

typedef union max30205_raw_data {
    struct {
        uint8_t lsb;
        uint8_t msb;
    };
    struct {
        uint16_t magnitude_bits:15;
        uint16_t sign_bit:1;
    };
    uint16_t uwrd;
    int16_t swrd;
} max30205_raw_data;

因为温度过高;不是有效的C语法。你需要做16度的测试。

因为16度的测试;不是有效的C语法。您需要执行int16\u t温度。

转换的语法是sometypesomevalue。对你来说,温度很奇怪。代码非常多,但是那个转换是C++的语法。我想知道是谁写的。转换语法的相关参数是sometypesomevalue。对你来说,温度很奇怪。代码非常多,但是那个转换是C++的语法。我想知道是谁写的。我将在答案中添加基本但重要的信息,它被称为变量转换,这就是你制作它的方式。我将在答案中添加基本但重要的信息,它被称为变量转换,这就是你制作它的方式