编译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 后就终于编译成功了

posted @ 2015-11-24 00:37  Wilson-Loo  阅读(1026)  评论(0编辑  收藏  举报