0

VS2012 支持带有 CTP 的可变参数模板,但如果我只使用宏,有没有办法确定参数的数量?例如,假设宏看起来像这样:

#define _ALLOC_MEMBER_CONSTRUCT( \
     TEMPLATE_LIST, PADDING_LIST, LIST, COMMA, CALL_OPT, X2, X3, X4) \
 template<class _Objty COMMA LIST(_CLASS_TYPE)> \
void ConstructSelector(_Objty *_Ptr COMMA LIST(_TYPE_REFREF_ARG)) \
{    \
     BaseClass::construct(_Ptr, LIST(_FORWARD_ARG), /* NUM OF ARGS*/); \
}

    _VARIADIC_EXPAND_0X(_ALLOC_MEMBER_CONSTRUCT, , , , )
    #undef _ALLOC_MEMBER_CONSTRUCT

有没有办法确定最后一个参数的参数数量?当我查看 xstddef.h (定义宏的位置)时,似乎没有简单的方法。我很好奇是否有人找到了使用 MS 宏的方法。

4

0 回答 0