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

时间:2015-06-01 06:48:56

标签: c++ pointers

我正在将旧代码从Solaris迁移到Linux。我有很多函数接受对指针的引用作为参数,如 -

static TYPE GetInstrument(const Item*& item);

现在,在调用此函数时,我有很多构造,例如 -

int test(Item *l_item) {
    TYPE lval = GetIntrument((const Item*)l_item);
}

这无法编译和匹配函数定义。在这种情况下我们应该如何传递参数?

1 个答案:

答案 0 :(得分:0)

该函数需要引用指向const的指针,因此只需转换为正确类型的引用

TYPE lval = GetIntrument(const_cast<const Item*&>(l_item));

我使用const_cast而不是C风格的演员来更清楚地表达意图。这也有用:(const Item*&)l_item