STL: Bad Behaviour

We've been arguing at work about whether it's ok to use the & operator while indexing an STL vector. I'm currently working with a compiler that is throwing errors at me for doing it, so I finally has backup for my arguments *sigh*.
It's quite easy to learn the 'right' way:
Never do:
[cpp]
// Bad
m_vecSound.erase( &m_vecSound[i] );
[/cpp]
Do:
[cpp]
// Good
m_vecSound.erase( m_vecSound.begin() + i );
[/cpp]
May be obvious to some but apparently not to all. :o