我正在研究一些PCL教程。在大多数教程中,云的内存是动态分配的,例如:
pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ>);
但是,当我尝试在函数末尾收集垃圾时,会收到错误消息:
错误:无法删除类型为'pcl :: search :: KdTree :: Ptr'的表达式(又名'shared_ptr>>>') 删除树;
我的困惑归结为:
tree
变量的声明吗?<type*> <variableName> (new <type>)
表达式的含义是什么?这不会创建指针并在堆上分配新的内存吗?也许有人可以帮我了解一下。提前谢谢了!