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 に答える