我在c ++上有一个简单的函数,它有两个参数:
read(uint32_t *buffer, uint32_t num_words){
...
}
当我尝试调用它时,我收到错误,因为我传递的参数可能是错误的unsigned long*, unsigned long
:
uint32_t addr = 5;
uint32_t buf[5];
read(buf,addr);
我不确定为什么这是错的。 有什么想法吗?
答案 0 :(得分:0)
问题可能是因为编译器无法将指针转换为const指针(即数组变量)。更改read to read的原型(uint32_t buffer [],uint32_t num_words).. 这将有效。