【发布时间】:2014-11-22 18:27:58
【问题描述】:
举个例子
const int limit = 500;
const int * const cpci = &limit;
const int * const * pcpci = &cpci;
我很难理解最后一行的含义。
基本上在数组术语中,值 pcpci 只是 (const int * const) 的数组。但我似乎无法在 pcpci 内制作多个副本,因为它不应该是一个常量指针。
举例
const int limit = 500;
const int * const cpci = &limit;
const int * const * pcpci = &cpci;
const int limit2 = 600;
const int * const cpci2 = &limit2;
*(pcpci+1) = &cpci2;
在上面代码的最后一行我得到“错误左值必须是可修改的”。但我想知道为什么会发生这种情况,因为 pcpci 不是常量指针,只有它的元素应该是常量且不可修改。
【问题讨论】:
-
这与数组无关。
-
"pcpci 它只是一个数组" 不,指针不是数组。