Simple binary search in a vector
Your code fails if you pass an empty vector because in this case array.end()-1 is incorrect
Keep const correctness, key should be const too
You have kind of strange code formatting, you should rather create an indent after every opening bracket, and not keep function body on a same level
Consider imitating STL approach and returning iterator instead of std::pair
You limit yourself to std::vector&lt;int&gt; type. Read about templates and try to make code that accept different types as well, for example std::vector&lt;double&gt;.
Calling std::vector an array is confusing, note that there's also std::array in C++11 and C-style arrays. vec would be better name there. 
Size of std::vector&lt;int&gt; is not actually std::size_t but std::vector&lt;int&gt;::size_type