Objective-C是ANSI C的超集。在GNU C中,您可以嵌套一个函数在另一个函数中......就像这样...
float E(float x)
{
float F(float y) //objective-C compiler says expected ; at end of declaration
{
return x + y;
}
return F(3) + F(4);
}
在Objective-C中是否有这种可能?
我知道有块和NSInvocation对象,可以模拟上述C代码。但是在Objective-C中是否可以在另一个函数的词法作用域内定义一个函数?就像这样...
-(int) outer:(int)x
{
-(int) inner:(int)y //use of undeclared identifier inner
{
return x * 3;
}
return inner(x);
}
//objective-C compiler says expected ; at end of declaration
,你只需要在内部函数定义的末尾添加一个分号(在括号后面)吗?我现在无法测试,但是当定义块并忘记在末尾放置分号时,我经常会遇到这种情况。同样的事情吗? - Mark A. Donohoe