error C2440: 'type cast': no se puede convertir de 'std :: _ Vector_iterator <_Ty, _Alloc>' a 'DWORD'

Obtuve el siguiente error:

error C2440: 'type cast' : cannot convert from 'std::_Vector_iterator<_Ty,_Alloc>' to 'DWORD'
        with
        [
            _Ty=LPCSTR ,
            _Alloc=std::allocator<LPCSTR >
        ]
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Estoy usando Visual Studio 2005. Esto funcionó en Visual Studio anterior pero no en este. Aquí está el código que causa errores:

std::vector<LPCSTR> factions;

...

*(DWORD*)(offset+0x571) = (DWORD)factions.begin(); <- error here

¿Como puedo resolver esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta