运行到这一句会报错,谁能告诉我错在哪里了吗?
#include <pcl/io/openni2_grabber.h>
#include <pcl/visualization/cloud_viewer.h>
class SimpleOpenNIViewer
{
public:
SimpleOpenNIViewer() : viewer("PCL OpenNI Viewer") {} // Construct a cloud viewer, with a window name
// 定义回调函数cloud_cb_,获取到数据时对数据进行处理
void cloud_cb_(const pcl::PointCloud<pcl::PointXYZ>::ConstPtr &cloud)
{
if (!viewer.wasStopped()) // Check if the gui was quit. true if the user signaled the gui to stop
viewer.showCloud(cloud);
}
void run()
{
// create a new grabber for OpenNI devices
pcl::Grabber* interface = new pcl::io::OpenNI2Grabber();
// make callback function from member function
boost::function<void(const pcl::PointCloud<pcl::PointXYZ>::ConstPtr&)> f =
boost::bind(&SimpleOpenNIViewer::cloud_cb_, this, _1);
// connect callback function for desired signal
boost::signals2::connection c = interface->registerCallback(f);
// start receiving point clouds
interface->start();
while (!viewer.wasStopped())
{
boost::this_thread::sleep(boost::posix_time::seconds(1));
}
// Stop the data acquisition
interface->stop();
}
pcl::visualization::CloudViewer viewer;
};
int main()
{
SimpleOpenNIViewer v;
v.run();
return 0;
}