Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 指向C/ObjC结构中指针的指针_Objective C_C_Pointers_Struct_Syntax Error - Fatal编程技术网

Objective c 指向C/ObjC结构中指针的指针

Objective c 指向C/ObjC结构中指针的指针,objective-c,c,pointers,struct,syntax-error,Objective C,C,Pointers,Struct,Syntax Error,我试着研究指针和结构的其他一些问题,但没有发现任何问题。我在上次NSLog调用中遇到错误。NSLog中使用索引和顶点调用的所有内容都是正确的,因此看起来可能是一个简单的语法错误或指针问题。另外,如何增加indexPointer指向的指针?由于indexPointer指向一个索引指针,因此我想通过indexPointer访问索引+1和索引+2。&Indexs+I不指向您分配的任何内存 将indexpoint和vertex更改为单指针,然后 wingedEdges[i].indexPointer =


我试着研究指针和结构的其他一些问题,但没有发现任何问题。我在上次NSLog调用中遇到错误。NSLog中使用索引和顶点调用的所有内容都是正确的,因此看起来可能是一个简单的语法错误或指针问题。另外,如何增加indexPointer指向的指针?由于indexPointer指向一个索引指针,因此我想通过indexPointer访问索引+1和索引+2。

&Indexs+I不指向您分配的任何内存

将indexpoint和vertex更改为单指针,然后

wingedEdges[i].indexPointer = &indices[i];
wingedEdges[i].vertex = &vertices[indices[i]];
那么*wingedEdges[i].indexPointer与索引[i]和 WingedGes[i]。顶点->位置[0]与顶点[Index[i]]相同。位置[0]。但是,您将无法获得想要的自动更新。有关更多详细信息,请参阅我的评论。我推荐一个简单的内联函数:

inline *Vertex vertex(WingedEdge* e) 
{
    return &vertices[*(e->indexPointer)];
}

变量索引初始化代码在哪里?我添加了它,不能把所有的东西都放在这里,否则它会很庞大,但是所有与WingedGes相关的代码都应该在这里。如果你想知道为什么我使用指向指针的指针,那只是为了防止顶点或索引中的值发生变化,这样我就不必再改变wingedEdge的价值观了。小小的技术性。。。这应该称为“半边”,因为它只包含原点顶点。。。无论如何,没那么重要。EXC_BAD_ACCESS,如果我注释这一行并让它填充整个结构数组,我没有问题。编译器不喜欢这样:地址表达式必须是一个Ivalue或函数指示符xcode,但我认为你的思路是正确的,因为如果我只是去索引,那么就没有错误了,这不是我想要的值,需要偏移它。@MCH:indexs[I]如何?不起作用:从“GLushort*”分配给“GLushort**”的不兼容指针类型请尝试上面的编辑。请注意,我认为您确实需要单指针。
inline *Vertex vertex(WingedEdge* e) 
{
    return &vertices[*(e->indexPointer)];
}