我是C ++的初学者。我有以下问题。在我定义的MevisPatientModel类中:
typedef boost::shared_ptr<egMevisPatientModel> Ptr_t;
然后我“定义”了变量:
egMevisPatientModel::Ptr_t v_PatientModel;
现在,当我尝试访问MevisPatientModel类的getType函数时:
v_PatientModel->getType()
......我收到了以下信息:
断言失败了! ... shared_ptr.hpp表达式px!= 0
我的意图是指针未初始化。现在我知道这里有很多答案可以“适合”我的问题。但正如我所说,我是初学者。说实话,我不明白这些答案。请帮助我,并给我一个明确和具体的答案我的问题。非常感谢你。
Greets,Marco
答案 0 :(得分:2)
您需要使用new
创建动态对象,并将结果指针分配到shared_ptr
:
egMevisPatientModel::Ptr_t v_PatientModel(
std::make_shared<egMevisPatientModel>());