我认为这被称为临时对象。这是我的场景:
我有一些功能:
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++。
非常感谢任何有关如何修复我的实现或解释此行为的建议!