C++:结构体变量可以被多个cpp文件共同使用

avatar
作者
猴君
阅读量:0

问题描述:点云过滤部分的参数写成一个QT界面进行调整参数,那么就需要保持界面参数和函数里面参数的一致性,由于参数众多,我使用结构体进行构造,但是在使用extern方法时候出现问题,无法保持一致性。

解决代码:有两个文件-头文件filiter.h-cpp文件filiter.cpp

step1:filiter.h:注意这里只是声明。

typedef struct{     //范围过滤     double XMin;     double XMax;     double YMin;     double YMax;     double ZMin;     double ZMax;      //体素降采样     float voxel_X;     float voxel_Y;     float voxel_Z;     //随机降采样     int random_Sample;     int random_Seed;     //半径去噪     double radius;     int radius_points;     //统计去噪     int radius_MeanK;     double radius_StddevMulThres; }filiter_para; 

定义外部变量

extern filiter_para para;

filiter.cpp

定义全局变量

filiter_para para;

赋初始值

filiter::filiter() {     //范围过滤     para.XMin=0.0;     para.XMax=1.0;     para.YMin=0.0;     para.YMax=1.0;     para.ZMin=0.0;     para.ZMax=1.0;      //体素降采样     para.voxel_X=0.01;     para.voxel_Y=0.01;     para.voxel_Z=0.01;     //随机降采样     para.random_Sample=20000;     para.random_Seed=1;     //半径去噪     para.radius=0.5;     para.radius_points=3;     //统计去噪     para.radius_MeanK=50;     para.radius_StddevMulThres=1.0; }

需要使用para的文件加上头文件

#include "filiter.h"

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!