我正在研究c++
可变参数。我在宏函数va_arg
的扩展中遇到了一些问题。我的代码是以下
va_list args;
va_start(args, last_known_param);
...
auto input = va_arg(args, boost::multi_array < float, 3 >);
我要做的是将输入作为三维数组。但是,似乎编译器无法将boost::multi_array < float, 3 >
作为一个整体,并向我抱怨我给他三个参数而不是两个。一种可能的解决方法是
typedef boost::multi_array < float, 3 > boost_multi_array_float_3;
auto input = va_arg(args, boost_multi_array_float_3);
但我只是想知道除此之外是否还有其他解决方案(例如转义字符)?