【发布时间】:2012-05-22 21:40:05
【问题描述】:
我有一个工作代码,它给了我一个网格的地址(如果我是正确的):
MyMesh &mesh = glWidget->mesh();
现在我想要 if thingie 分配不同的网格地址。一个是mesh()第一个函数,另一个是mesh(int):这是怎么做到的?
MyMesh &mesh; //error here: need to be initialized
if(meshNum==0){
mesh = glWidget->mesh();
}
else if (meshNum==1){
mesh = glWidget->mesh(0);
}
else{
return;
}
//mesh used in functions...
function(mesh,...);
【问题讨论】:
-
这是一个引用,而不是一个指针。
-
您在 glWidget 上调用的 mesh() 函数的签名是什么?它返回 MyMesh、MyMesh& 还是 MyMesh*?
-
if (meshNum > 1 || meshNum < 0) return; MyMesh& mesh(meshNum == 0 ? glWidget->mesh() : glWidget->mesh(0)); -
谢谢大家!问题解决了!
标签: c++ pointers reference pointer-address