错误:
错误 C2059 语法错误:“(”
错误 C2238 意外的标记位于“;”之前
错误 C3646 “polygon_plane”: 未知重写说明符
错误 C2065 “m_normal”: 未声明的标识符
错误 C2039 “polygon_plane”: 不是 “polygonGRClass” 的成员
部分代码:
//声明
Plane3 polygon_plane();
Plane3 polygonGRClass::polygon_plane()//定义
{
vec3 m_point1(vec3(m_center.x, m_center.y, m_center.z)), m_normal1(m_normal.x, m_normal.y, m_normal.z);
Plane3 plane(m_point1, m_normal1);
return plane;
}
这些错误几乎都指向一个声明,所以我认为是同一个错误的地方导致多个错误显现出来,有看到网上说头文件顺序的问题,对于我这个情况没用,记录一下自己的得错误,看看能不能解决,如果可以解决会发布,不能解决就当作自己的笔记看看。
终于解决啦xdm!!!
解决:
添加一个头文件
#include <easy3d/core/point_cloud.h>
大家看看自己有没有哪个头文件像是能用上的,或者基础一点的头文件的,加上试试吧!
废话:
我搜索了很多有这些错误的帖子,发现大家都是添加头文件或者修改头文件顺序或者添加命名空间来解决的,但是我自己写的头文件已经添加了啊,而且命名空间也添加了,库里的plane.h也添加了,就很奇怪,困扰两天了其实。我原来是在同一个cpp里实现了全部功能,现在是分开了出现了很多的错误,所以我把原来的文件里的所有头文件都复制过来,结果意外的运行成功了,多次注释、运行,终于发现了!!
就是需要添加一个处理点云的基础头文件#include <easy3d/core/point_cloud.h>,虽然我感觉和我的代码没什么联系但是还是要用才能运行成功。
所以,大家看看自己有没有哪个头文件像是能用上的,或者基础一点的头文件的,加上试试吧!