我需要使用模板实现一个为任何数据类型 T 服务的队列,我需要实现的一个函数称为 T getFirst() ,它返回第一个节点的值,我原来的方法是:
T getFirst(){
T returnValue = _first->_data;
return returnValue;
}
我发现这不起作用,如果我打电话
Queue<int> q;
q.add(2);
cout << Q.getFirst() << endl;
输出是一些垃圾。令人惊讶的是,如果我将代码简化为:
T getFirst(){
return _first->_data;
}
它有效!!,为什么???有人可以解释一下。我需要第一种方法的原因是稍后我需要实现 removeFirst(),我可能需要临时保存数据。非常感谢各位!!!