我是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/

10-11 05:09