C++ C++;模板返回值
我需要使用template实现一个为任何数据类型T服务的队列,我需要实现一个名为T getFirst()的函数,它返回第一个节点的值 我最初的做法是:C++ C++;模板返回值,c++,function,templates,types,return,C++,Function,Templates,Types,Return,我需要使用template实现一个为任何数据类型T服务的队列,我需要实现一个名为T getFirst()的函数,它返回第一个节点的值 我最初的做法是: T getFirst(){ T returnValue = _first->_data; return returnValue; } 我发现这不起作用,如果我打电话 Queue<int> q; q.add(2); cout << Q.getFirst() << endl; 它起作用了!
T getFirst(){
T returnValue = _first->_data;
return returnValue;
}
我发现这不起作用,如果我打电话
Queue<int> q;
q.add(2);
cout << Q.getFirst() << endl;
它起作用了!!,为什么?有人能解释一下吗。我需要第一种方法的原因是,稍后我需要实现removeFirst(),这可能需要临时保存数据。谢谢大家 看起来您实际上想要:
return returnValue;
这里有一个错误:
T getFirst(){
T returnValue = _first->_data;
return getFirst; //^^^You return function name?
}
应该是
T getFirst(){
T returnValue = _first->_data;
return returnValue ;
}
究竟如何返回getFirst代码>编译?抱歉,伙计们,这是一个打字错误,它已经被修复了,但仍然,为什么它不工作!!!我们需要看到您的其余实现。。。它不起作用的最可能的原因是\u first->\u data
是垃圾。是的,对不起,伙计,这是一个打字错误,但问题仍然存在
T getFirst(){
T returnValue = _first->_data;
return returnValue ;
}