错误:没有匹配的函数可调用“ ompl :: tools :: SelfConfig :: getDefaultNearestNeighbors(ompl :: geometric :: RRT *)”

时间:2018-10-01 03:54:24

标签: c++ motion-planning

在编译自己的项目时,出现如下错误:

$('#container').mouseup(function() {
  console.log(getSelectedText());
});

function getSelectedText() {
  if (window.getSelection) {
    return window.getSelection().toString();
  }
  return '';
}

这是我的源代码的一部分,

myRRT.cc:80:78: error: no matching function for call to ‘ompl::tools::SelfConfig::getDefaultNearestNeighbors(ompl::geometric::RRT*)’
        nn_.reset(tools::SelfConfig::getDefaultNearestNeighbors<Motion *>(this));
                                                                              ^
In file included from /home/htf/Downloads/Active-ORB-SLAM2-octomap/src/myRRT.cc:36:0:
/opt/ros/indigo/include/ompl/tools/config/SelfConfig.h:93:42: note: candidate: template<class _T> static ompl::NearestNeighbors<_T>* ompl::tools::SelfConfig::getDefaultNearestNeighbors(const StateSpacePtr&)
             static NearestNeighbors<_T>* getDefaultNearestNeighbors(const base::StateSpacePtr &space)
                                          ^
/opt/ros/indigo/include/ompl/tools/config/SelfConfig.h:93:42: note:   template argument deduction/substitution failed:
/home/htf/Downloads/Active-ORB-SLAM2-octomap/src/myRRT.cc:80:78: note:   cannot convert ‘(ompl::geometric::RRT*)this’ (type ‘ompl::geometric::RRT*’) to type ‘const StateSpacePtr& {aka const boost::shared_ptr<ompl::base::StateSpace>&}’
        nn_.reset(tools::SelfConfig::getDefaultNearestNeighbors<Motion *>(this))

这是我引用的示例文件之一RRT 有没有人遇到过类似的问题?我是C ++的新手,希望获得一些线索。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

ompl::tools::SelfConfig::getDefaultNearestNeighbors(ompl::geometric::RRT*) 所以您应该这样修改它:

nn_.reset(tools::SelfConfig::getDefaultNearestNeighbors<Motion>(*this)); 也许motion是模板,而(* this)表示您想使用(* this)调用对象 我也是绿手。我不确定。