2012-05-30 2 views
0

Я задавался вопросом, почему я не в состоянии сделать следующее:Доступ к данным из Vector3f

std::cout << myMesh.faces[i].vertices[k].pos[k];

Ошибка: Type 'Vector3f' does not provide a subscript operator

Моя структура:

struct ObjMeshVertex{ 
    Vector3f pos; 
    Vector2f texcoord; 
    Vector3f normal; 
}; 

myMesh:

struct ObjMesh{ 
    std::vector<ObjMeshFace> faces; 
}; 

struct ObjMeshFace{ 
    ObjMeshVertex vertices[3]; 
}; 

Я никак не могу получить доступ к pos.

+0

Что такое 'Vector3f' и какой тип' myMesh'? – hmjd

+0

К двум отсутствующим структурам. – JavaCake

ответ

2

Компилятор говорит вам, что Vector3f класс не имеет operator[](some integral type), который вы пытаетесь использовать здесь:

myMesh.faces[i].vertices[k].pos[k] 
           ^calling Vector3f::operator[](...) 
+0

Хорошо, я просто понял, что спал во время кодирования. Мой Vector3f, конечно, определяется с помощью трехмерных координат, а не массива. – JavaCake