-2

我正在尝试使用方法 GLKVector3MakeWithArray 创建一个向量。

我收到以下错误,我有点困惑为什么“将'float'传递给'float *'的不兼容类型”

这是我的代码:

    [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]);

谢谢

4

2 回答 2

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 );

现在,是否正确设置了“”取决于您的具体情况。

于 2013-02-24T20:57:47.547 回答
2

GLKVector3MakeWithArray函数期望参数的类型为float[3]。但是您正在尝试传递单个float值。

从数组的元素创建正确的参数。

于 2013-02-24T20:56:35.373 回答