为什么我不能制作对象m1?

桑托什·迈纳利

我正在尝试创建类 'cls' 的新对象。我创建了一个无参数构造函数,据我所知,它应该创建一个新对象。但程序崩溃并显示消息 Segmentation Fault Core Dumped 。

但是,如果我取消注释第 13 行 d = new int; 该程序运行良好。

///////////////////////////////////////

#include <iostream>
#include <vector>

using namespace std;
class cls
{
    private:
        int *d;
    public:
        cls() {}   //no args ctor
        cls(int a)     //1 arg ctor
        {
            //d = new int;
            *d = a;
        }
};

int main()
{
    cls m{10};
    cls m1;
    cout<<"Testing if program is still fine"<<endl;
    return 0;
}
杰斯帕·尤尔

*d = a;很可能会导致崩溃,因为d它没有指向任何有效的内容(它尚未初始化)。

为什么首先是d一个指针?如果你只是让它变得简单,int你也可以解决你的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么不能将GregorianCalendar用作对象类型作为构造函数参数?

制作对象数组

为什么我不能创建对象实例?

为什么我不能访问对象的属性?

为什么我不能等待对象类型?

为什么我不能制作分开的表副本?

为什么我不能执行ls -a 1>&-?

使用类制作对象

如何制作对象列表

为什么我不能访问我的对象成员变量?

为什么我不能创建我创建的对象的数组?

当我在类方法中初始化像 m1 这样的变量时不使用“self”键时究竟会发生什么。m1 是本地、对象还是类变量?

为什么我不能在 Session 中保存对象

我为什么不能将此对象导出到csv

为什么我的表单项不能被对象的新实例清除?

为什么我的查询对象不能正确使用_id?

为什么我不能直接访问对象文字的属性?

为什么我不能更改实例化对象内部的向量?

为什么我不能从Java端创建Kotlin对象?

为什么我不能实例化这样的对象?

为什么我分配对象本身不能正常工作?

为什么我不能使用包含mysqli对象的属性?

为什么我不能使用嵌套的 IntList 创建对象?

为什么我不能对 Django 对象使用“.update()”?

为什么我不能逐行遍历字符串对象

为什么我不能对ifstream对象使用getline()?

为什么我不能在地图对象上使用 for in 循环

为什么我不能从方法更改对象属性

为什么我不能在反应中从 json 读取对象?