我要发帖 回复

正式会员

6

主题

68

积分

0

专家分

兴趣点(最多三项):

VegaPrime
虚拟现实头盔
军事仿真

私信
发表时间 : 2016-4-7 14:15:24 | 浏览 : 1002    评论 : 2
各位大侠,我在看王孝平老师的《VegaPrime实时三维虚拟现实开发技术》这本书。
我看到第四章《运行VegaPrime应用》这章时,4.3.2节创建容器写的是:

typedef vuVector< vuField< vuBase* > > InstancesList;
PublicMember::CTS_s_pInstancesToUnref = new InstancesList;
PublicMember::CTS_s_pInstancesToUnref->push_back(pPipeline_myPipeline);

我看到他把pipeline,windows,channel的对象都用push_back方法存在CTS_s_pInstancesToUnref这个容器 里面去,
可是,一个容器里面的结构体不应该是相同的吗,pipeline,window,channel这个的结构体明显不同啊,
为什么都可以放到容器里面去。或者说容器里面有结构体转换的地方我没有看到。


有人知道吗,能不能解答一下我的疑惑呢?


还有,我想取这个容器里面的某个对象怎么取呢,
我用PublicMember::CTS_s_pInstancesToUnref->m_pointee->m_name取当前对象的名字提示我说
error C2248: “vuField<T>::m_pointee”: 无法访问 private 成员(在“vuField<T>”类中声明)

我用
PublicMember::CTS_s_pInstancesToUnref->m_pointee->vpChannel->setDrawArea()
重新绘制某个通道的大小,又提示我说“vpChannel”: 不是“vuBase”的成员。

真心搞不明白了。

最近VR访客

sichuanwww 评论于2016-4-7 15:55:17
typedef vuVector< vuField< vuBase* > > InstancesList;

vuBase  是所有类的基类
努力挣钱,快乐生活!
yinxiang 评论于2016-4-7 16:55:57
那怎么获取这个容器的某个对象呢,你知道吗?

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-5-15 11:13 PM

返回顶部