PCL tempaltes:在“ pcl :: PointCloud <PointT> :: Ptr”之前需要“ typename”

时间:2019-07-12 12:01:48

标签: c++ templates compilation syntax-error

我在使用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;
    };

0 个答案:

没有答案