[英]Passing pointer to a reference to pointer argument
我正在将旧代码从Solaris迁移到Linux。 我有很多函数可以接受对指针的引用,例如-
static TYPE GetInstrument(const Item*& item);
现在,在调用此函数时,我有很多构造,例如-
int test(Item *l_item) {
TYPE lval = GetIntrument((const Item*)l_item);
}
这将无法编译和匹配函数定义。 有什么建议在这种情况下我们应该如何传递参数?
该函数希望引用指向const
的指针,因此可以将其强制转换为正确类型的引用 :
TYPE lval = GetIntrument(const_cast<const Item*&>(l_item));
我使用const_cast
而不是C样式const_cast
来更清楚地表达意图的地方。 这也将起作用: (const Item*&)l_item
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.