C++ shared_ptr作为函数参数用来做返回值时一定要加引用&

    CCmdLookAheadPlannerResultPtr ptrCmdLookAheadPlannerResult;//声明智能指针,但是先不分配内存和地址
    demo_singleMovelPlan(ptrCmdLookAheadPlannerResult); //作为函数参数,用来输出

int demo_singleMovelPlan(CCmdLookAheadPlannerResultPtr & ptrCmdLookAheadPlannerResult)
{//shared_ptr作为函数参数用来作为返回值时,一定要加引用符号,看作一个对象,否则会有问题  

。。。

       CSingleMovelCmdPlanResultPtr ptrSingleMovelCmdPlanResult(new CSingleMovelCmdPlanResult());

。。。

        ptrCmdLookAheadPlannerResult=ptrSingleMovelCmdPlanResult;//将函数内部分配好地址的智能指针通过 函数形参输出来

}

 

智能指针作为函数形参时,要看成对象,所以要加引用符号&。否则会出现错误

你可能感兴趣的:(C++编程)