mrk
mrk

Reputation: 10366

PCL - error C2039: 'PointType' : is not a member of 'boost::shared_ptr<T>'

I'm trying to implement some code from the pcl NARF tutorial

But this code:

boost::shared_ptr<pcl::RangeImage> range_image_ptr (new pcl::RangeImage); 
pcl::RangeImage& range_image = *range_image_ptr;   
range_image.createFromPointCloud (point_cloud, angular_resolution, pcl::deg2rad (360.0f), pcl::deg2rad (180.0f), scene_sensor_pose, coordinate_frame,oise_level, min_range, border_size);

always results in the following errors:

error C2039: 'PointType' : is not a member of 'boost::shared_ptr' C:\CLibraries\PCL 1.5.1\include\pcl-1.5\pcl\range_image\impl\range_image.hpp 193

error C2039: 'points' : is not a member of 'boost::shared_ptr' C:\CLibraries\PCL 1.5.1\include\pcl-1.5\pcl\range_image\impl\range_image.hpp 194

Does anyone have an idea how to fix it?

Upvotes: 1

Views: 1313

Answers (1)

mrk
mrk

Reputation: 10366

For anyone facing this problem in the future: The error shows up for the wrong file. It says there is an error in range_image.h The actual problem is that I didn't use a pointer to the pointcloud.

rangeImage.createFromPointCloud(pointCloud, angularResolution,...

It should be this:

rangeImage.createFromPointCloud(*pointCloud, angularResolution,...

Upvotes: 1

Related Questions