У меня есть облегченное объявление универсального типа Objective-C, скажем
NSArray<NSNumber *> *array;
Я упростил это до
#define Array(X) NSArray<X *> *
Array(NSNumber) array;
Пока все хорошо. Но это не будет работать с вложенными массивами, такими как
// wrong, it'll be parsed to NSArray<NSArray<NSNumber *> * *> *
// one extra star being added while nesting...
Array(Array(NSNumber)) array;
Мой вопрос: возможно ли определить, должен ли макрос добавить звездочку в конец входного параметра?