C++ unsigned int不适用于项目

C++ unsigned int不适用于项目,c++,arduino,teensy,C++,Arduino,Teensy,请帮忙。我有制作模拟合成器的旧代码,无法在teensy 2.0上编译,我使用Arduino 1.6.9和teensyduino 1.29 错误日志:从'void()(uint8_t,unsigned int){aka void()(unsigned char,unsigned int)}'到'void()(uint8_t,int){aka void()(unsigned char,int)}'[-fpermissive]的转换无效 使用函数时,此处出现错误:doBend void doBend

请帮忙。我有制作模拟合成器的旧代码,无法在teensy 2.0上编译,我使用Arduino 1.6.9和teensyduino 1.29

错误日志:从'void()(uint8_t,unsigned int){aka void()(unsigned char,unsigned int)}'到'void()(uint8_t,int){aka void()(unsigned char,int)}'[-fpermissive]的转换无效

使用函数时,此处出现错误:doBend

void doBend(byte channel, unsigned int bend_usb) {
    byte chip_select = channel / 4; 
    channel = channel % 4;
    bendMSB = bend_usb >> 7; 
    bendLSB = bend_usb % B01111111; 
    if(channel >=0 && channel <= 2) {
       bend_MSB[channel + (chip_select * 4)] = bendMSB;
       bend_data[channel + (chip_select * 4)] = bend_MSB[channel + (chip_select * 4)];
       writeFrequency(pitchData[channel + (chip_select * 4)], channel, chip_select);
    }
}
void-doBend(字节通道,无符号int-bend_usb){
字节芯片_选择=通道/4;
通道=通道%4;
bendMSB=bend_usb>>7;
bendLSB=bend_usb%B01111111;

如果(channel>=0&&channel问题可能与此表达式有关:
usbMIDI.setHandlePitchChange(doBend);


在此表达式中,
doBend
作为指向函数的指针。您能检查
setHandlePitchChange
函数的参数类型吗?

“我不知道我在做什么,请帮我解决这个问题”通常情况下效果不太好。参数的
usbMIDI.setHandlePitchChange
预期的函数签名是什么?
int
将自动转换为“unsigned int”。看起来函数签名与所需的函数指针签名不匹配。没错,在您回复我的同时,我正在编辑我的答案.现在,你的答案看起来应该是评论。是的,我知道你还不能评论。