我正在尝试使用GLKVector3MakeWithArray方法创建一个矢量。
我收到以下错误,我有点疑惑为什么,“将'浮动'传递给不兼容的'浮动*'”
这是我的代码:
[self.offsetArray addObject:[jsnmphset valueForKey:@"offset"]];
// Create a Vector3f from the array offset stored in the nsdictionary
GLKVector3 offset = GLKVector3MakeWithArray([[self.offsetArray objectAtIndex:0] floatValue]);
由于
答案 0 :(得分:3)
GLKVector3MakeWithArray定义如下:
GLKVector3 GLKVector3MakeWithArray( float values[3] );
它采用三个浮点值的数组。你正在调用它,好像它是这样定义的:
GLKVector3 GLKVector3MakeWithArray( float value );
您传入的是一个浮动值。
你需要做这样的事情:
float values[3];
values[0] = [[self.offsetArray objectAtIndex:0] floatValue];
values[1] = [[self.offsetArray objectAtIndex:1] floatValue];
values[2] = [[self.offsetArray objectAtIndex:2] floatValue];
GLKVector3 offset = GLKVector3MakeWithArray( values );
现在,“值”是否已正确设置取决于您的具体情况。
答案 1 :(得分:2)
GLKVector3MakeWithArray
函数期望参数为float[3]
类型。但是你试图传递一个float
值。
从数组元素中创建正确的参数。