我收到了以下错误。
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()()
则可以
答案 0 :(得分:4)
它可能应该包含
void operator () (PropInfoType::iterator& it) { \
因为运营商本身应该跟operator
关键字。