У вас есть две проблемы:
- Аргумент A
va_list
не совпадает с аргументом ...
. - Функция C с переменным числом аргументов должна иметь хотя бы один именованный аргумент.
Вот пример, который компилируется:
NSString *(^fn)(NSString *format, ...) = ^NSString *(NSString *format, ...){
va_list ap;
va_start(ap, format);
NSString *answer = [[NSString alloc] initWithFormat:format arguments:ap];
va_end(ap);
return answer;
};