C++ boost::unordered_map()的find()方法存在的问题

C++ boost::unordered_map()的find()方法存在的问题,c++,boost,unordered-map,C++,Boost,Unordered Map,我有以下代码: typedef unsigned char tTerm; typedef uint64_t nTerm; boost::unordered_map<tTerm *, nTerm> map; nTerm function(tTerm * key) { boost::unordered_map<tTerm *, nTerm>::iterator it = standardTerms.find(key); if (it != standardTe

我有以下代码:

typedef unsigned char tTerm;
typedef uint64_t nTerm;

boost::unordered_map<tTerm *, nTerm> map;

nTerm function(tTerm * key) {
  boost::unordered_map<tTerm *, nTerm>::iterator it = standardTerms.find(key);
    if (it != standardTerms.end()) {
      return it->second;
  }
}
typedef无符号字符;
类型定义uint64\u t INTERM;
boost::无序的_图;
NTREM功能(tTerm*键){
boost::无序映射::迭代器it=standardTerms.find(键);
if(it!=standardTerms.end()){
返回->秒;
}
}
此代码使用clang(在MacOs中)正确编译。但是,eclipse警告说find()方法的调用方式存在问题。更具体地说,它通过重试以下错误来警告使用不兼容的参数调用find():

“无效参数的候选参数为: boost::unordered::iterator_detail::iterator>>查找(const unsigned char&) boost::unordered::iterator\u detail::c\u iterator>,const boost::unordered::detail::ptr\u node>*>查找(const unsigned char&) boost::unordered::iterator_detail::iterator>>查找(常量10000&,常量10001&,常量10002&) boost::unordered::iterator_detail::c_iterator>,const boost::unordered::detail::ptr_node>*>查找(const#10000&,const#10001&,const#10002 &)""


现在所有代码都正确编译了,所以可能是eclipse错误。但是,忽略此消息可能会遗漏一些重要信息。你觉得怎么样?

没什么好担心的。在我看来是正确的。您可以使用指针作为键。我认为这是eclipse的错