У меня есть простая функция на C ++, которая принимает 2 аргумента:
read(uint32_t *buffer, uint32_t num_words){
...
}
Когда я пытаюсь вызвать его, я получаю сообщение об ошибке, потому что аргументы, которые я передаю, вероятно, неверны unsigned long*, unsigned long
:
uint32_t addr = 5;
uint32_t buf[5];
read(buf,addr);
Я не уверен, почему это не так.
Есть идеи?
Проблема может быть в том, что компилятор не может преобразовать указатель в указатель const (то есть переменную массива). Изменить прототип чтения для чтения (буфер uint32_t [], uint32_t num_words) ..
Это будет работать