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