これは一時オブジェクトと呼ばれると思います。これが私のシナリオです:
私はいくつかの機能を持っています:
void List<T>::Remove(ListIterator &)
ListIterator List<T>::Begin() //returns an iterator pointing to the first node in the list.
G ++で次のようなことをしようとすると:
mylist.Remove(mylist.Begin())
次のエラーが表示されます。
Remove(ListIterator) の呼び出しに一致する関数がありません。
ListIterator を値で受け取る関数はありませんし、必要もありません。しかし、私がやろうとしていることさえ意味があるかどうかはわかりません。コードは Windows VS2012 では機能しますが、g++ では機能しません。
私の実装を修正する方法またはこの動作の説明についてのアドバイスは大歓迎です!