我有一个返回变量的函数,我想知道如何返回一个数组,问题是它不是 NSArray,它只是一个像这样的平均 C 数组...
-(b2Fixture*) addFixturesToBody:(b2Body*)body forShapeName:(NSString*)shape
{
BodyDef *so = [shapeObjects objectForKey:shape];
assert(so);
FixtureDef *fix = so->fixtures;
int count = -1;
b2Fixture *Fixi[4];
while(fix)
{
count++;
NSLog(@"count = %d",count);
Fixi[count]= body->CreateFixture(&fix->fixture);
if (Fixi[count]!=0) {
NSLog(@"Fixi %d is not 0",count);
}
if (body->CreateFixture(&fix->fixture)!=0) {
NSLog(@"body %d is not 0",count);
}
fix = fix->next;
}
return *Fixi;
}
如果您看到一些变量类型,您不知道这是因为我正在使用 cocos2d 框架来制作游戏,但我返回了 b2Fixture 的变量...此代码可以编译,但仅保存数组第一个块的值“fixi[0]”不是我想要传递的整个数组
任何帮助:) 谢谢
您无法返回本地数组。您需要进行某种动态分配或使用一些技巧,例如将数组放在结构中。
这是一个链接 http://www.eskimo.com/~scs/cclass/int/sx5.html一篇应该对您有帮助的深入文章。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)