Недопустимые типы 'unsigned char[int]' для индекса массива
Я работаю над попыткой создать CRC, используя байты данных, и я написал эту функцию:
u16 crcGenerate(unsigned char bytes, int len){
u16 crc = 0;
for (int i = 0; i < len; i++){
crc = crc16__computeByteAnsi(crc, bytes[i]); }
return crc;
}
Я продолжаю получать вышеуказанную ошибку всякий раз, когда вызывается эта функция, и я не совсем уверен, как это исправить, или даже в чем дело.
Чтобы избежать раздувания этого вопроса, я включил другие первичные файлы.h и.cpp, на которые есть ссылки.
Это файл заголовка команды (cmgCOM.h)
Здесь вычисляются CRC (crc16.cpp)
Это основной командный файл (cmgCOM.cpp)
Я действительно ценю любую помощь, которую я могу получить; если есть какая-то дополнительная информация, дайте мне знать. Я не очень знаком с C/C++, и я не знаю, что вызывает эту проблему.
Благодарю.
1 ответ
Я думаю ты намеревался bytes
быть массивом беззнакового символа, но вы только декальдируете его как одно значение без знака.
u16 crcGenerate(unsigned char bytes[], int len){