ojit_pre
尝试查看指针和结构的其他一些问题,但是我什么也没找到。我上一次NSLog调用出现错误。 NSLog调用中带有索引和顶点的所有内容都是正确的,因此看起来可能是简单的语法错误或指针问题。另外,如何增加indexPointer指向的指针?由于indexPointer指向索引指针,所以我也想通过indexPointer访问index + 1和index + 2。
最佳答案
(&indices + i)不会指向您已分配的任何内存。
起作用的是将indexPointer和顶点更改为单个指针,然后
wingedEdges[i].indexPointer = &indices[i];
wingedEdges[i].vertex = &vertices[indices[i]];
然后*(wingedEdges [i] .indexPointer)与index [i]相同,
wingedEdges [i] .vertex-> Position [0]与顶点[indices [i]]。Position [0]相同。但是,您将无法获得所需的自动更新(有关更多详细信息,请参见我的评论)。我推荐一个简单的内联函数:
inline *Vertex vertex(WingedEdge* e)
{
return &vertices[*(e->indexPointer)];
}