c++ - 无法分配类成员指针变量
问题描述
所以我只是在玩耍并创建了一个简单的类:
class C {
public:
C() {
}
void assign() {
*a = 10;
}
int * get() {
return a;
}
private:
int *a;
};
然后我创建一个类的实例,如下所示:
C c{};
c.assign();
由于某种原因,方法 assign 实际上并没有被调用。
std::cout << c.get() << std::endl;
这在控制台中不返回任何内容。
解决方案
您通过取消引用未分配的内存导致未定义的行为,您应该将其添加到您的类
C()
{
a=new int;
}
和
~C()
{
delete a;
}
推荐阅读
- css - 如何命名 CSS 类,如 facebook 或 google
- amazon-web-services - 通过 HTTPS 和负载均衡器通过自己的域访问 AWS EC2 Web 服务器
- react-native - 当我们在 Android React Native 中使用调整平移时向文本输入添加填充?
- docker - Docker for Windows 中的 Minikube 与 Kubernetes
- javascript - GeoTIFF RGB 作为传单层
- c# - 如何在 .NET 中阅读“% Time in GC”
- ruby - Ruby 通过它们的键对多维数组进行排序
- react-native - 来自 React Native 中的设备存储自定义路径的图像
- oracle - 使用 max 时不是单组群功能
- javascript - 如何使用客户端 Javascript 通过 API 将跨域文件导入 Google Drive?