首页 > 解决方案 > 如何将数据添加到指针数组?

问题描述

我创建了一个指针数组。我想知道如何 prp=operly 将数据添加到我的指针数组中。我尝试了下面的代码,不幸的是它给了我一个内存错误,我不知道为什么。

class dataClass {
    int data;
public:

    void setdata(int d) {data = d;}
    int getdata() const {return data;}
};

int main() {
    dataClass** ptr = new dataClass*s[5];

    int num = 9;
    ptr[0] -> setdata(num);

    return 0;
}

标签: c++pointersmemory

解决方案


您可以首先创建一个对象数组(将自动调用构造函数)。

之后创建一个指向您的指针的指针:

#include <stdio.h>

class dataClass {
    int data;
public:

dataClass(){ 
    printf(" new instance \n");
}

void setdata(int d) {
    data = d;
    printf(" setdata \n");
}

int getdata() const {return data;}
};

int main() {
    dataClass*  ptr = new dataClass[5];
    dataClass** pptr = &ptr;  

int num = 9;
pptr[0]->setdata(num);

return 0;
}

结果:

新实例
新实例
新实例
新实例
新实例
setdata


推荐阅读