‘class orb_slam3::atlas’ has no member named ‘save’ 782 | mpatlas->save(
时间: 2023-11-30 12:00:30 浏览: 36
这个错误提示说明在类orb_slam3::atlas中没有名为save的成员。可能的原因有几种:一是可能在类orb_slam3::atlas中没有定义save这个成员函数;二是可能save函数是私有的,无法在外部调用;三是可能save函数被声明为静态的,需要使用类名来调用。要解决这个问题,首先需要确认在类orb_slam3::atlas中是否有save这个成员函数,如果没有,需要在类中定义这个函数;如果save函数是私有的,考虑将其改为公有;如果save函数是静态的,需要用类名加上作用域解析运算符来调用这个函数。另外,还可以检查一下调用save函数的地方是否写错了类名或者对象名。最后,如果你无法修改orb_slam3::atlas类的定义,也可以考虑使用其他方法来保存数据或者寻找其他类似的功能来替代save函数。总之,要解决这个问题,需要先确认类的定义和成员函数声明,然后检查调用的正确性,最后才能对错误进行修复。
相关问题
这个错误是什么意思 error: ‘ORB_SLAM2::YoloDetector’ has not been declared mptDetector = new thread(&ORB_SLAM2::YoloDetector::Run, mpDetector);
这个错误意味着编译器无法找到ORB_SLAM2::YoloDetector类的定义。这可能是因为头文件未被正确包含或者ORB_SLAM2::YoloDetector类未被正确命名或定义。解决方法是确保头文件被正确包含,检查ORB_SLAM2::YoloDetector类名是否正确,检查该类是否已被正确定义。
这个错误是什么意思 error: redeclaration of ‘ORB_SLAM2::YoloDetection* ORB_SLAM2::System::mpDetector’ YoloDetection* mpDetector;
这个错误意味着在ORB_SLAM2::System类中,mpDetector变量被重复声明了。在同一个作用域中,一个变量只能被声明一次。可能是在头文件中重复包含了定义mpDetector的代码或者在同一个源文件中重复声明了mpDetector变量。解决方法是要么删除其中一处的声明,要么使用头文件保护避免头文件被重复包含。