テンプレートを使用して任意のデータ型 T に対応するキューを実装する必要があり、実装する必要がある 1 つの関数は 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() を実装する必要があるためです。これには、データの一時的な保持が必要になる場合があります。どうもありがとうございました!!!