指针兼容性。为什么禁止将T **分配给const T **?

时间:2015-03-24 18:17:03

标签: c++ c pointers

尝试直接获得指针兼容性。这是一个代码示例,展示了我难以理解的内容:

struct T
{
    int dummy;
};

int main(int argc, const char * argv[])
{
    T t;
    const T* cpt = &t; //Ok.

    const T** ppct = &cpt; //Ok.

    T* pt = &t;
    const T** ppct2 =&pt;
    //The line above gives me
    //Cannot initialize a variable of type 
    //'const T **' with an rvalue of type 'T **'

    return 0;
}

在返回语句之前,我试图获取指向T的指针的地址,并将其指定给指向const T的指针。什么可能出错,对吧?我无法改变我指向的对象,但我不允许这样做。

0 个答案:

没有答案
相关问题