【发布时间】:2020-12-14 15:51:57
【问题描述】:
#define INITIALIZE_INT_ARRAY(elem_type, array_name,...) \
elem_type array_name[] = { __VA_ARGS__ }; \
INITIALIZE_INT_ARRAY(int, arr, 1, 2, 3, 4, 5)
// will expand to
int arr[] = {1, 2, 3, 4. 5};
现在我想支持__VA_ARGS__ 中的元组,如果它是一个元组,我将简单地获取元组的第一个元素。
INITIALIZE_INT_ARRAY(int, arr, 1, (2, hello), (3, world), (4, X), 5)
// will still expand to
int arr[] = {1, 2, 3, 4, 5}
如何更改我的INITIALIZE_INT_ARRAY?
【问题讨论】:
-
我正在添加 c++ 标签,以使这个问题能够吸引更多人。
标签: c++ c-preprocessor boost-preprocessor