我定义了一个可变方法
-(void)generateUserGrantDialog:(const char*)msg
Title:(const char*)title
Tag:(int)tag
MsgData:(const char*)mData
MsgLen:(int)mLen
CancelButtonTitle:(NSString*)cancelBtnTitle
OtherButtonTitles:(NSString *)firstTitle, ...
NS_REQUIRES_NIL_TERMINATION;
现在我必须遍历va_list,所以我编写了代码:
va_list args;
va_start(args, firstTitle);
for (NSString *arg = firstTitle; arg != nil; arg = va_arg(args, NSString*))
{
// code
}
va_end(args);
当我构建代码时,我收到错误
编译错误:'va_start'用于具有固定args的函数
任何人都可以帮助我摆脱它..
由于
答案 0 :(得分:3)
将您的代码更改为:
va_list args;
va_start(args, firstTitle);
for (; firstTitle != nil; firstTitle = va_arg(args, NSString*)) {
// code (using each firstTitle)
}
va_end(args);