0

我收到以下错误。

typedef std::vector<std::pair<std::string, void*> >  PropInfoType;
#define REGISTER_FUNCTOR(type, func) \
  template <typename OWNER> \
  struct writeCharFunctor { \
    void operator(PropInfoType::iterator& it)() { \
    } \
  };

  REGISTER_FUNCTOR(char,writeChar);

MSDN 只是说这是由于macro expansion

如果我改变void operator(PropInfoType::iterator& it)()它的void operator()()工作

4

1 回答 1

4

它可能应该包含

 void operator () (PropInfoType::iterator& it) { \

因为operator关键字后面应该跟操作符本身。

于 2012-11-07T06:20:04.270 回答