我需要实现一个使用模板为任何数据类型T服务的队列,而我需要实现的一个函数称为T getFirst(),它返回第一个节点的值 我的原始方法是:C++模板返回值
T getFirst(){
T returnValue = _first->_data;
return returnValue;
}
我发现这是不行的,如果我叫
Queue<int> q;
q.add(2);
cout << Q.getFirst() << endl;
输出是一些垃圾。 什么惊人的是,如果我简化代码:
T getFirst(){
return _first->_data;
}
它的作品!为什么???有人可以解释。我需要第一种方法的原因是后来我需要实现removeFirst(),我可能需要临时保存数据。谢谢很多家伙!
如何在地球上'返回getFirst;'编译? – mfontanini 2013-04-07 16:55:20
对不起,家伙,它的错字,它现在已被修复,但仍然,为什么它不工作! – user1819047 2013-04-07 17:10:28
我们需要看看其余的实现......它不起作用的最可能的原因是'_first - > _ data'是垃圾。 – 2013-04-07 17:22:21