Visual Studio 2012 Variadic模板宏参数计数

时间:2013-02-25 18:42:24

标签: c++ visual-c++ macros visual-studio-2012 variadic-templates

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宏的方法,我很好奇。

0 个答案:

没有答案