First of all, please use code tags when you post code..
Second, I really don't understand what are you doing inside the loop in your printVector function. You have some empty vector s (why do you need it?), then in each iteration of the loop you clear your input vector v (why?), you try to insert something to vector s (which shouldn't compile because you need to provide a position and a value to insert, again, what's the purpose of s?), then you push_back the iterator returned by insert to the emptied copy of your input vector (again, shouldn't compile because v stores integers and not iterators) and also you don't pass vector b from the main function to printVector - where should the printVector function get the names for numbers?
Overall, what I'm trying to say is that you should first understand the logic of your program yourself, as in "which line is doing what and for what purpose". I mean I can tell you directly how to make this work, but unless you understand your code - it will not help you to write better code in future.
So please figure out what are you trying to do with the lines of code I pointed you to, post the code with comments explaining your train of thought (don't forget code tags) and then we will try to help you in a way so that you understand why your code doesn't work and how to fix it.
You can not fill a vector of one base type with values of another type if there is no conversion from the first type to the second one. std::string can not be converted to int.