Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;模板返回值_C++_Function_Templates_Types_Return - Fatal编程技术网

C++ C++;模板返回值

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; 它起作用了!

我需要使用template实现一个为任何数据类型T服务的队列,我需要实现一个名为T getFirst()的函数,它返回第一个节点的值 我最初的做法是:

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 ;
}