我想要一個指向常量的指針,並將它的地址傳遞給一個將增加它的函數。C++指向指針的指針
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**)’
}
如何聲明指針?
你爲什麼想改變一個常數?你也可以考慮使用參考 – vickirk
爲什麼當'void'的時候將'f1'的返回值賦給'n'? – rzetterberg
oops。它應該返回n – somewho3