函数的参数转换,将参数作为'const arg *&'
Argument conversion for function taking an arg as 'const arg *&'
这是我在恢复旧代码时遇到的一个问题
这是另一个
下面是函数的定义:-
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 *&'
s_e变量需要声明为:
const ENTITY* s_e = NULL;
以匹配函数的声明。这意味着在调用函数后,您不会使用s_e指针来修改它所指向的ENTITY。
引用不是已经是const类型了吗?并且需要创造时间本身的价值?
不允许使用空指针引用。
因为所有这些,我觉得这个问题是不可解决的
尝试移动常量:
int shen_get_entity_from_list(const ENTITY_LIST& list, ENTITY* const& e);
这为您提供了对正在传递的类型的常量引用,而不是对指向常量ENTITY的指针的非常量引用。
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 使用不带参数的函数访问结构元素
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 使用显式模板参数列表和 [temp.arg.explicit]/3 的函数调用的演绎失败
- 为什么不接受具有默认分配参数的函数作为 0-arg 生成器?
- 为什么有必要将"this"指针作为"arg"参数传递给pthread_create
- 'auto ... arg'的参数包形式在 lambda 中启用,但在函数中未启用?
- 需要了解参数何时在 c++ 中作为 (className&arg) 传递
- 函数的参数转换,将参数作为'const arg *&'
- 将一个模板类作为arg参数传递给std::bind