我得想重载()运算符用于数组访问时,另一个问题:C++()操作问题
const OctTreeNode*& operator()(const int i, const int j, const int k) const{
return m_cells[k*m_resSqr+j*m_res+i];
}
OctTreeNode*& operator()(const int i, const int j, const int k){
return m_cells[k*m_resSqr+j*m_res+i];
}
vector<OctTreeNode*> m_cells;
我得到一个
C2440 'return': cannot convert from 'OctTreeNode *const' to 'const OctTreeNode *&'
这是怎么回事?我正在像另一个班级那样宣布它。唯一的区别是,其他类是通用的,还有我使用牛逼&,而不是OctreeNode * &
是否有返回对指针的引用而不是引用元素的原因? – pmr 2009-12-20 18:01:25
...或指向成员的指针?返回const引用的想法是它可能比返回完整副本要便宜得多,但如果类型是整数或指针,它没有多大意义。 (假设你不能将引用返回到真实对象,这将是一个更好的方法) – 2009-12-21 07:59:06