使用递归宏来编写函数的参数

Olu*_*ide 3 c++ macros recursion

是否可以使用递归宏来编写所需数量的函数参数.例如:

void foo( const char (&row1)[3] , const char (&row2)[3] , const char (&row3)[3] )
{
}

void foo( const char (&row1)[3] , const char (&row2)[3] , const char (&row3)[3] , const char (&row4)[3] , const char (&row5)[3] , const char (&row6)[3] )
{
}
Run Code Online (Sandbox Code Playgroud)

我知道引入了可变参数模板来解决这样的问题,但我仅限于C++ 98 ATM.

Dav*_*vid 5

您可以查看boost :: preprocessor库,它为您提供了一个完整的预处理工具包.它提供预处理器元编程工具,包括重复和递归.

你可以在这个答案中看到一个例子.