我是C++的初学者。我有以下问题。在类MevisPatientModel中,我定义了:
typedef boost::shared_ptr<egMevisPatientModel> Ptr_t;
然后,我“定义”了变量:
egMevisPatientModel::Ptr_t v_PatientModel;
现在,当我尝试访问MevisPatientModel类的getType函数时:
v_PatientModel->getType()
...我收到以下消息:
我的意图是指针未初始化。现在我知道这里有很多答案可以“适合”我的问题。但是正如我所说,我是一个初学者。老实说,我对这些答案不了解。请帮助我,为我的问题提供清晰明确的答案。非常感谢你。
马克,马可
最佳答案
您需要使用new
创建一个动态对象,并将结果指针分配给shared_ptr
:
egMevisPatientModel::Ptr_t v_PatientModel(
std::make_shared<egMevisPatientModel>());
关于c++ - 提升共享指针初始化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14259740/