【发布时间】:2017-09-11 14:56:35
【问题描述】:
我正在尝试对 PCL 的 KdTreefLANN 类使用半径搜索。因此,作为第一步,我密切关注教程here。但是,Visual Studio Code 抱怨说,第 31 行不允许不完整的类型。由于这是来自 PointCloud 网站的确切代码,我不知道它在哪里失败。
我在 Linux 机器上使用 PCL 1.7、GCC 5(我认为是 .4)。包含似乎是由 VS Code 找到的。此错误发生在编译之前。编译下面的代码 sn-p 没有错误,但不幸的是整个教程脚本的编译失败并出现一些错误(不同的问题),所以我无法测试,如果行为符合预期。
我的问题:
- “不允许的不完整类型”警告是什么意思?
- 它来自哪里(在这种情况下)?
- 如果编译成功,是否可能导致意外行为(即这只是 VS Code/IntelliSense 的问题)?
代码sn-p:
1 : #include <pcl/point_cloud.h>
2 : #include <pcl/kdtree/kdtree_flann.h>
4 : #include <iostream>
5 : #include <vector>
6 : #include <ctime>
8 : int main (int argc, char** argv)
10: {
11: srand (time (NULL));
31: pcl::PointXYZ searchPoint;
33: searchPoint.x = 1024.0f * rand () / (RAND_MAX + 1.0f);
34: searchPoint.y = 1024.0f * rand () / (RAND_MAX + 1.0f);
35: searchPoint.z = 1024.0f * rand () / (RAND_MAX + 1.0f);
81: return 0;
82: }
【问题讨论】:
-
第 31 行是哪一行? 确切的编译器输出是什么?
-
抱歉,我在链接中输入了示例中的行号。现在应该清楚哪一行是 31。
标签: c++ visual-studio-code intellisense point-cloud-library