这是我在恢复旧代码时遇到的问题
这是另一个 -
所以这里是一个函数的定义: -
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 *&'
答案 0 :(得分:1)
s_e变量需要声明为:
const ENTITY* s_e = NULL;
匹配函数的声明。这表示在调用函数后,你不会使用s_e指针来修改它指向的ENTITY。
答案 1 :(得分:0)
是不是已经const类型的引用?并且在创作时需要价值吗?
不允许空指针引用。
因为所有这些我不觉得这个问题是可以解决的
答案 2 :(得分:-1)
尝试移动const:
int shen_get_entity_from_list(const ENTITY_LIST& list, ENTITY* const& e);
这为您提供了对要传递的类型的const引用,而不是对指向const ENTITY的指针的非const引用。