升压共享指针初始化(Boost shared pointer initialization)

2019-10-17 13:56发布

我敢在C ++初学者。 我有以下问题。 在类MevisPatientModel我定义:

typedef boost::shared_ptr<egMevisPatientModel> Ptr_t;

然后,我“中定义的”变量:

egMevisPatientModel::Ptr_t v_PatientModel;

现在,当我尝试访问类MevisPatientModel的功能的getType:

v_PatientModel->getType()

...我收到以下消息:

断言失败! ... shared_ptr.hpp表达PX!= 0

我的本意是指针未初始化。 现在我知道这里有很多答案,这将“适合”我的问题。 但正如我所说,我是一个初学者。 说实话,我不回答这些问题理解。 请帮助我,给我一个明确而具体的回答我的问题。 非常感谢你。

映入眼帘,马尔科

Answer 1:

您需要创建与动态对象new和结果指针分配到shared_ptr

egMevisPatientModel::Ptr_t v_PatientModel(
    std::make_shared<egMevisPatientModel>());


文章来源: Boost shared pointer initialization