编译luabind-0.9.1 出现 error C2665: 'boost::operator ==' : none of the 4 overloads could convert all the argument types 的解决方案

最终出错的位置是:

#define LUABIND_OPERATOR_ADL_WKND(op) 
  inline bool operator op( 
      basic_iterator<basic_access> const& x 
    , basic_iterator<basic_access> const& y) 
  { 
      return boost::operator op(x, y); 
  } 
 
  inline bool operator op( 
      basic_iterator<raw_access> const& x 
    , basic_iterator<raw_access> const& y) 
  { 
      return boost::operator op(x, y); 
  }
//错误指向以下两行
  LUABIND_OPERATOR_ADL_WKND(==)
  LUABIND_OPERATOR_ADL_WKND(!=)

我使用 luabind-0.9.0 、boost_1_58、vc120 也会出现上述情况;
变换到 boost_1_54、vc110 后就终于编译成功了

原文地址:https://www.cnblogs.com/Wilson-Loo/p/4990200.html