zLe*_*eon 0 c++ pointers reference constants
假设我有这个程序:
const int width = 4;
void test(int&){}
int main() {
test(width);
}
Run Code Online (Sandbox Code Playgroud)
这将无法编译.我注意到名称(例如宽度)的常量值(也是枚举常量)不能通过引用传递.为什么会这样?
Dav*_*rtz 11
想象一下:
void test (int& j) { j++; }
Run Code Online (Sandbox Code Playgroud)
如果test确实改变了引用的东西的值,显然我们不能用const参数调用它.如果没有,为什么它采用非const引用的参数呢?