хранение данных в буфере при переполнении стека

У меня есть простая функция на 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);

Я не уверен, почему это не так.
Есть идеи?

0

Решение

Проблема может быть в том, что компилятор не может преобразовать указатель в указатель const (то есть переменную массива). Изменить прототип чтения для чтения (буфер uint32_t [], uint32_t num_words) ..
Это будет работать

0

Другие решения


По вопросам рекламы [email protected]