#ifndef VIEWER_H
#define VIEWER_H
#include <iostream>
#include "../../Spheres/spheres.h"
#include "../../Odometry/odometry.h"
#include "../io/io.h"
#include <limits>
#include <utility>
#include <algorithm>
#include <time.h>
#include <cv.h>
#include <opencv/highgui.h>
#include <opencv2/core/eigen.hpp>
#include <Eigen/Dense>
#include <Eigen/SVD>
#include <Eigen/LU>
#include <unsupported/Eigen/MatrixFunctions>
#include <boost/thread/thread.hpp>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/common/common_headers.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/filters/extract_indices.h>
#include <pcl/filters/passthrough.h>
#include <pcl/common/transforms.h>
//#include <pcl/registration/icp.h> // conflict with opencv flann
//#include <pcl/features/normal_3d.h> // conflict with opencv flann
//#include <pcl/features/integral_image_normal.h> // conflict with opencv flann
//const double pi = M_PI;
class Viewer{
public:
pcl::PointCloud<pcl::PointXYZRGB> cloud, globalmap;
pcl::PointXYZRGB point;
pcl::PassThrough<pcl::PointXYZRGB> filter_pass_x, filter_pass_y, filter_pass_z;
pcl::VoxelGrid<pcl::PointXYZRGB> filter_voxel;
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer (new pcl::visualization::PCLVisualizer ("3D Viewer"));
void viewgenpcl(Sphere &S, Odometry &Odo);
};
#endif // VIEWER_H
错误的来源是这行代码:
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer (new pcl::visualization::PCLVisualizer ("3D Viewer"));
错误:“新”之前的预期标识符 错误:“新”之前应为“,”或“...”
我不确定这个初始化是来自 boost 还是 pcl,尽管我在其他文件中使用了同一行并且它有效。感谢您提供的任何帮助。