クラススタックに関係演算子==をオーバーロードする。同じ型のスタックが同じである。それ以外の場合はfalseです。ローカルテンポラリオブジェクトへの参照を戻すC++
私のコード:
template <class Type>
const stackType<Type>& stackType<Type>::operator ==
(const stackType<Type>& otherStack)
{
if (this->stackTop != otherStack.stackTop)
return false;
for (int i = 0; i < stackTop; i++)
if (this->list[i] != otherStack.list[i])
return false;
return true;
} //end operator==
私は地元の一時オブジェクトの警告を返すの参照を受けていると私は、関数のスコープが終了すると、それが破壊されるということです理解して何から。誰もがこの警告を解決する正しい方向に私を指摘することはできますか?
ローカルの一時的な参照を返さないでください。 – Ron
警告を避けるためにはしないでください...あなたはrefまたは属性(割り当てられたメモリ)を安全に返すことができます。 – fievel
@fievelなぜ何かを割り当てるのですか?質問者は明らかにブールを返す必要があり、戻り値のタイプをねじ込みます。 – user4581301