繁体   English   中英

将指针传递给对指针参数的引用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM