Вы передаете объект по значению int_begin()
.То, что вы получите, это итератор для std::vector
, который не живет после вызова функции.Следовательно, в вызывающей функции итератор недопустим.
Передайте объект по ссылке.
vector <int> :: iterator int_begin(vector <int>& V) // Passed by reference
{
cout<<*V.begin()<<endl;
return V.begin();
}