我想知道为什么我不能做到以下几点:

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。

最佳答案

编译器告诉您Vector3f类没有operator[](some integral type),您尝试在此处使用它:

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

关于c++ - 从Vector3f访问数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10812247/

10-13 09:48