通过函数引用来回传递对象时遇到了一些麻烦。
以下示例显示了一个结构,一个基于该结构的固定数组变量(这些我无法更改)。
我想创建一个输入单个struct元素blnFindIntersection()的函数。在函数期间从该结构中检索值。但是,在该函数结束时,我想返回具有不同元素和值的结构,因此我的主应用程序可以使用更新的结构。
我想这是另一个“参考”问题,而我无法理解它......我做得对吗?我做错了吗?我该怎么做/我能做什么呢?
const int maxobjects = 100 ;
EXTERN int numobjects ;
EXTERN struct object {
shape type ;
float size ;
float position[4] ;
float this[4] ;
float that[4] ;
mat4 transform ;
//... etc more values
} objects[maxobjects] ;
bool blnFindIntersection(object &objIntersection)
//...
for(int o=0;o<numobjects;o++) {
obj = &(objects[o]);
//... More code, including value retrieval on objIntersection
//Help here.... Dont know what to do to return the object with updated values from obj..
objIntersection = &(objects[o]);
objIntersection = &(obj);
objIntersection = obj;
}
}
int main(int argc, char** argv)
{
object * objNearest;
bool intersect = false;
objNearest = &(objects[0]);
//... objNearest-> is being used
intersect = blnFindIntersection(objNearest);
//... the updated objNearest-> is being used here
return 0;
}