Недопустимые типы '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){
Другие вопросы по тегам