我想要一个指向常量的指针,并将其地址传递给一个函数,该函数会递增它。
int f1(const int **ptr) {
int n = **ptr; //use pointer
(*ptr)++; //increment pointer
return n;
}
void foo(const int *data) {
const int *p = data;
const int n = f1(&p); //error: invalid conversion from ‘const int**’ to ‘int**’
//error: initializing argument 1 of ‘int LevelLoader::readWord(byte**)’
}
如何声明指针?
最佳答案
尝试
int f1(const int *& ptr) {
int n = *ptr;
++ptr;
return n;
}
void foo(const int *data) {
const int *p = data;
const int n = f1(p);
}
相反。
错误消息表明 LevelLoader::readWord
没有采用 const byte**
。
关于C++ 指向指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6729998/