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

C++ 为什么我的指针数组初始化为Char类型?,c++,pointers,C++,Pointers,因此,我试图声明指向我声明的对象的指针数组,因为我希望能够访问存储对象的指针。 问题是,数组似乎以某种方式是char指针,因为当我试图通过数组中的指针访问元素时,我的函数是不兼容的,因为我试图访问我声明的对象类型的指针 DeclaredObject::DeclaredObject *pointerArray[X] //Where X is a previously defined positive integer void SaveObject(DeclaredObject::Declared

因此,我试图声明指向我声明的对象的指针数组,因为我希望能够访问存储对象的指针。
问题是,数组似乎以某种方式是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);

您有一个数组
DeclaredObject::DeclaredObject*

指针阵列[ElementToSaveAt]
是指向数组中元素的指针-a
DeclaredObject::DeclaredObject**


您应该使用
pointerray[ElementToSaveAt]

创建一个新的数组。代码中有几个未解析的、不相关的名称。不要评论某个已定义的内容,而是定义您使用的变量和类型。
objectInstance
参数是按值,而不是引用或指针。所以看起来您正在将引用存储到本地值中。也许,你的代码对我来说不是很清楚。你有生成错误吗?如果是这样,请编辑您的问题,以包括完整和未编辑的生成输出(作为复制粘贴文本)。您是否遇到运行时错误或崩溃?然后使用调试器在程序中查找它们。你会得到意想不到的结果吗?然后请显示程序的输入,以及实际和预期的输出。使用智能指针代替原始指针,使用容器代替原始数组。除非需要多态性,否则可能根本不使用指针,而是使用对象容器?你可以避免更多的指针(在现代C++中,很少有人需要使用多态性),你的生活将会变得越来越容易。