I just need to find a way to store the values in a text file into a vector array (in this case vector<int>)
This does the trick:
std::vector<int> tiles;
std::ifstream map_stream("map.txt");
std::copy(std::istream_iterator<int>(map_stream), std::istream_iterator<int>(), std::back_inserter(tiles));
However, it means the number of columns will still be hardcoded.
std::copy is an algorithm copying the given range (defined by the first two parameters, which are two iterators) to the one supplied by the third parameter.
The istream_iterators specify a range covering the input stream of the text file
std::back_inserter(tiles) will append elements at the end of tiles - effectively the same as invoking push_back in a hand-written loop.
Yes it's fancy; you still have to help yourself.
i) if Lignum's function return a vector and you want one returning a boolean, write both and have the latter call the former
ii) The map's location doesn't got anything to do with the other parameters. If you wish to pass it, pass it.
This isn't a diary to blabber on about wants and needs nor is it a place to lay out requirements, unless you mean to hire us.