假设我有这个程序:
NonInterceptibleMenu
这将无法编译。我注意到名称(例如宽度)的常量值(也是枚举常量)不能通过引用传递。为什么会这样?
答案 0 :(得分:11)
想象一下:
void test (int& j) { j++; }
如果test
确实改变了引用的东西的值,显然我们不能用const参数调用它。如果它没有,为什么它通过非const引用来获取它的参数?
答案 1 :(得分:0)
通过引用传递允许我们更改实际对象。
如果对象定义为const
,则无法更改。这正是const意味着 - 它是不变的。