-2

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

ありがとう

4

2 に答える 2

3

GLKVector3MakeWithArray は次のように定義されています。

GLKVector3 GLKVector3MakeWithArray( float values[3] );

3 つの float 値の配列を取ります。次のように定義されているかのように呼び出しています。

GLKVector3 GLKVector3MakeWithArray( float value );

単一の float 値を渡しています。

次のようなことをする必要があります。

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

ここで、' values ' が適切に設定されているかどうかは、特定の状況によって異なります。

于 2013-02-24T20:57:47.547 に答える
2

このGLKVector3MakeWithArray関数は、引数の型が であることを期待していますfloat[3]。しかし、単一の値を渡そうとしていfloatます。

配列の要素から適切な引数を作成します。

于 2013-02-24T20:56:35.373 に答える