for ( std::list< Cursor::Enum >::reverse_iterator i = m_CursorStack.rbegin(); i != m_CursorStack.rend(); ++i )
{
if ( *i == pCursor )
{
m_CursorStack.erase( i );
break;
}
}
< /code>
Однако Erase принимает итератор, а не обратный итератор. Есть ли способ преобразовать обратный итератор в обычный итератор или другой способ удалить этот элемент из списка?
for ( std::list< Cursor::Enum >::reverse_iterator i = m_CursorStack.rbegin(); i != m_CursorStack.rend(); ++i ) { if ( *i == pCursor ) { m_CursorStack.erase( i ); break; } } < /code>
Однако Erase принимает итератор, а не обратный итератор. Есть ли способ преобразовать обратный итератор в обычный итератор или другой способ удалить этот элемент из списка?
У меня сложилось впечатление, что в Java оператор экземпляра нельзя использовать с дженериками из-за стирания типа. Однако первый условный оператор в приведенном ниже фрагменте кода компилируется и выполняется без каких-либо ошибок. Может ли...