【发布时间】:2012-02-10 00:25:22
【问题描述】:
这是我在恢复旧代码时遇到的问题
还有一个--
所以这里是一个函数的定义:-
int shen_get_entity_from_list(const ENTITY_LIST& list, const ENTITY*& e);
这是定义变量的方式
ENTITY *t_ent = NULL, *p_e = NULL, *s_e = NULL, *t_e = NULL;
现在当我调用这个函数时
s_pos = shen_get_entity_from_list(sortedACISfeatureList, s_e);
它给了我以下错误
错误 C2664:
'shen_get_entity_from_list':无法将参数 2 从'ENTITY *'转换为'const ENTITY *&'
【问题讨论】:
-
只是出于兴趣:是否有理由将 const 引用传递给指针?没看懂
-
@Niklas :这不是对指针的 const 引用,而是对指向 const 对象的指针的引用。在函数可能修改指针但不修改指向对象的情况下,这是简单的 const 正确性(即,一件好事)。
-
@ildjarn:感谢您的精彩解释 :) 这些类型声明总是让我着迷。
标签: c++ visual-studio-2008 visual-c++ mfc