首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

问个指针的指针的取地址类型的有关问题

2012-12-29 
问个指针的指针的取地址类型的问题最近在搞OGRE,用到这样一个函数,无奈指针不是很精通,函数如下virtual in

问个指针的指针的取地址类型的问题
最近在搞OGRE,用到这样一个函数,无奈指针不是很精通,函数如下


virtual int getCollisions(CollisionObject *collObj, CollisionPair **&cpPtr);

最后一个参数,**&cpPtr
我在调用它的时候是申明了一个CollisionPair **otherobject;类型,然后

getCollisions(c_suncollision.m_pCollisionContext->getAttachedObject("Hand"),otherobject);

这样没有问题,允许成功,然后我调试的时候也看了otherobject中的所有变量值都是正确的,好了,现在我想拿里面的变量来使用
不管我是
otherobject.
还是otherobject->distance;
都给我报错
“->distance”的左边必须指向类/结构/联合/泛型类型
“.distance”的左边必须指向类/结构/联合/泛型类型
[解决办法]
otherobject是指针的指针类型,所以你要得到其变量,应该用
*otherobject->distance
*otherobject才是CollisionPair类的指针类型
[解决办法]
*otherobject->distance
这么用才行。
[解决办法]
这样写更清晰: (*otherobject)->distance; 
或 (**otherobject).distance;
[解决办法]
(*otherobject)->distance;
[解决办法]
取地址只是参数传递时指定为引用类型,不需要定义一个引用类型的变量
[解决办法]
引用:
是**& 还有取地址,楼上的方法还是报这个错
一个引用,不是什么取地址,1楼的方法,你可以尝试一下。

热点排行