为什么我的指针数组初始化为Char类型?

时间:2016-05-18 11:29:43

标签: c++ pointers

所以我试图声明一个指向我声明的对象的指针数组,因为我希望能够访问存储对象的指针。
麻烦的是,Array似乎在某种程度上是char指针,因为当我尝试通过数组中的指针访问元素时,我的函数是不兼容的,因为我试图访问我声明的对象类型的指针。

DeclaredObject::DeclaredObject *pointerArray[X] //Where X is a previously defined positive integer

void SaveObject(DeclaredObject::DeclaredObject objectInstance, DeclaredObject::DeclaredObject* pointerToObject){
    pointerToObject->objectPropertyOne = objectInstance.getPropertyOne();
    pointerToObject->objectPropertyTwo = objectInstance.getPropertyTwo();
    .
    [Similar code omitted]    
}

我尝试实例化SaveObject方法:

DeclaredObject::DeclaredObject objectToSave = {Object Declaration}
DeclaredObject::DeclaredObject *locationToSave = &pointerArray[ElementToSaveAt];

SaveObject(objectToSave, locationToSave);

1 个答案:

答案 0 :(得分:0)

您有一个const数组。

DeclaredObject::DeclaredObject *是指向数组中元素的指针 - &pointerArray[ElementToSaveAt]

您应该使用DeclaredObject::DeclaredObject **