我需要實現一個使用模板爲任何數據類型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