我在使用PCL时遇到一些麻烦,我想创建一个接受pointCloud的类并对其进行一些处理,但是我不知道我将使用哪种类型的先验云,因此我正在开发它一般。因此,我定义了一个类型名称模板,以将其用作类的参数。 在我的实现下面,我想知道这是除了编译器给出此错误之外的正确方法:在'pcl :: PointCloud :: Ptr'之前需要'typename',因为'pcl :: PointCloud'是从属作用域>
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/filters/passthrough.h>
#include <pcl/filters/radius_outlier_removal.h>
#include <pcl/filters/conditional_removal.h>
template <typename cloudType>
class PointCloudProcessor
{
private:
pcl::PointCloud<cloudType>::Ptr pointcloud;
pcl::PassThrough<cloudType> distance_filter;
pcl::RadiusOutlierRemoval<cloudType> noise_filter;
pcl::VoxelGrid<cloudType> down_sampling_filter;
};