我有一个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;