不知何故,对于我的生活,我无法理解参考文献。我有这个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
参数类型也不正确......
答案 0 :(得分:0)
我想我知道了 - 我的队列必须是const my_class*
类型才能匹配我的dispatch
参数类型。如果有更好的方法,请告诉我....