Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[convolution_3d.h] search :: the symbol on the left must be of a type #6023

Closed
qipaifeiying opened this issue Apr 28, 2024 · 4 comments · Fixed by #6026
Closed

[convolution_3d.h] search :: the symbol on the left must be of a type #6023

qipaifeiying opened this issue Apr 28, 2024 · 4 comments · Fixed by #6026
Labels

Comments

@qipaifeiying
Copy link
Contributor

Describe the bug
When initialize a GaussianKernel object
pcl::filters::GaussianKernel<pcl::PointXYZ, pcl::PointXYZ>::Ptr kernel(new pcl::filters::GaussianKernel<pcl::PointXYZ, pcl::PointXYZ>);
the code in convolution_3d.h has an error.

screenshots of the GUI issues
image

I've included that <boost/optional.hpp>.

Environment

  • Win10
  • VS2022-msvc c++17
  • PCL Version [1.14.0]
@qipaifeiying qipaifeiying added kind: bug Type of issue status: triage Labels incomplete labels Apr 28, 2024
@mvieth
Copy link
Member

mvieth commented Apr 28, 2024

@PatricianEagle Try adding

#include <pcl/common/point_tests.h>
#include <pcl/search/search.h>

before #include <pcl/filters/convolution_3d.h>, then it should work.

@mvieth mvieth added module: filters and removed status: triage Labels incomplete labels Apr 28, 2024
@qipaifeiying
Copy link
Contributor Author

@PatricianEagle Try adding

#include <pcl/common/point_tests.h>
#include <pcl/search/search.h>

before #include <pcl/filters/convolution_3d.h>, then it should work.
Great! Problem solved, thank you very much!
But I wonder why that is?

@mvieth
Copy link
Member

mvieth commented Apr 28, 2024

Great! Problem solved, thank you very much!
But I wonder why that is?

It is a bug in PCL. convolution_3d.h should include <pcl/search/search.h> and convolution_3d.hpp should include <pcl/common/point_tests.h> because they use classes/functions from those headers. I will fix this when I have the time, or, if you like, you can create a pull request to fix this.

@qipaifeiying
Copy link
Contributor Author

Great! Problem solved, thank you very much!
But I wonder why that is?

It is a bug in PCL. convolution_3d.h should include <pcl/search/search.h> and convolution_3d.hpp should include <pcl/common/point_tests.h> because they use classes/functions from those headers. I will fix this when I have the time, or, if you like, you can create a pull request to fix this.

Ok! I'll try it.Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants