C++ 引用和指针以及使用常量传递的参数

C++ 引用和指针以及使用常量传递的参数,c++,pointers,reference,constants,C++,Pointers,Reference,Constants,不知何故,就我的一生而言,我永远无法理解参考资料。我有一个队列类,方法如下: void push(const T& item); 我现在正在尝试将一些东西放入队列(这是一个非常做作的示例): class my_class{}; 无效调度(const my_class*项目) { 我的队列; 队列。推送(项目); } // ... 自动x=新的我的_类; 派遣(x); 从const my_class*转换为my_class*const&时出现错误。我尝试了&item,铸造项,但没有一个

不知何故,就我的一生而言,我永远无法理解参考资料。我有一个
队列
类,方法如下:

void push(const T& item);
我现在正在尝试将一些东西放入队列(这是一个非常做作的示例):

class my_class{};
无效调度(const my_class*项目)
{
我的队列;
队列。推送(项目);
}
// ...
自动x=新的我的_类;
派遣(x);

const my_class*
转换为
my_class*const&
时出现错误。我尝试了
&item
,铸造
,但没有一个能让编译器满意。正确的方法是什么?我的
队列
是否应该属于
my_class
而不是
my_class*
?另一种可能是我的
push
参数类型也不正确…

我想我知道了——我的队列需要是
const my_class*
类型,以匹配我的
dispatch
参数类型。让我知道是否有更好的方法……

*项
无法工作,因为我的队列在模板处理后的
推送
需要
我的类*&
(我没有包括
常量
,因为它们的顺序总是让我困惑)<代码>*项将成为我的
类&
。是的,我的坏。但是,不要将参数类型设置为
const my_class*
,而是将函数本身的参数更改为
my_class*
,或者将答案重构为更“回答”的形式,或者用附加的数据和想法编辑您的问题。
class my_class { };

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

// ...

auto x = new my_class;
dispatch(x);