c++ - 如何将数据添加到指针数组?
问题描述
我创建了一个指针数组。我想知道如何 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;
}
解决方案
您可以首先创建一个对象数组(将自动调用构造函数)。
之后创建一个指向您的指针的指针:
#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
推荐阅读
- ios - RealmSwift 列表
EXC_BAD_ACCESS - database - 无关系文档的 Firestore 数据模型查询
- python-3.x - 当我使用带有 wxpython 的图像按钮时,使用 pyinstaller 创建 .exe 文件时出现问题
- sql - PERCENTILE_CONT 中位数和四舍五入到小数点后 4 位
- r - 使用 GGplot2 在 R 中制作条形图时遇到问题
- c++ - 多个类看起来几乎相同,但使用一些不同的数据和函数
- mysql - TypeOrm ViewEntity 查询不正确
- angular - 在 Internet Explorer 10、11 上运行 Angular 8 应用程序
- entity-framework-core - 实体框架核心、工作单元和存储库模式
- excel - 将工作表声明为变量