MyClassDaughterPointer

MyClassDaughterPointer

我已经创建了一个类,说我将其命名为MyClass,以及一个从其继承的类,例如MyClassDaughter,然后尝试了以下操作:

MyClassDaughter *MyClassDaughterPointer;
vector <MyClass*> MyClassVector;
MyClassVector.push_back(MyClassDaughterPointer);
MyClassVector[0]->SetSomethingInMyClassDaughter;


当我尝试运行可执行文件时,它显示“ Segmentation Violation”。
(我认为必须说我的代码中包含一些Root东西……这可能是问题吗?无论如何,我知道,通常,分段违规错误是由于尝试访问我们没有访问权限的内存而引起的,但我认为我确实有权访问此内存。我错了吗?)

最佳答案

您没有初始化MyClassDaughterPointer,因此将一些随机(野生)指针推到向量上。

您需要创建MyClassDaughterPointer的新实例。假设您有一个默认的构造函数,它将如下所示:

MyClassDaughter *MyClassDaughterPointer = new MyClassDaughterPointer();

09-30 00:23