引用和指针以及使用const传递的参数

时间:2014-03-28 00:40:10

标签: c++ pointers reference const

不知何故,对于我的生活,我无法理解参考文献。我有这个queue类的方法:

void push(const T& item);

我现在正试图把东西放到队列中(这是一个非常人为的例子):

class my_class { };

void dispatch(const my_class* item)
{
    my_queue<my_class*> queue;
    queue.push(item);
}

// ...

auto x = new my_class;
dispatch(x);

我从将const my_class*转换为my_class *const&时遇到错误。我已尝试&item,投射item,但没有一个能让编译器满意。这样做的正确方法是什么?我的queue应该是my_class而不是my_class*吗?另一种可能性是我的push参数类型也不正确......

1 个答案:

答案 0 :(得分:0)

我想我知道了 - 我的队列必须是const my_class*类型才能匹配我的dispatch参数类型。如果有更好的方法,请告诉我....