Никто не требует (и это проявилось в твоем случае), чтобы std::vector<char>::iterator был простым указателем на char. А потому твое приведение не сработало.
Сделать можно по-разному, например:
static_cast<void *>(&*begin());//0
static_cast<void *>(&front());//1
&operator[](0);//2