Function to prompt and check user input
Use std::vector&lt;std::string&gt; instead C-style array for possibleAnswers and then pass a reference to the vector into the checkInput function.
If you will use std::vector you can use just std::find to check if the input appears in the possibleAnswers.
Consider making possibleAnswers constant1. It is never change, is not it?
The sizeof operator returns a value of type std::size_t but you use int length to hold it. You should use std::size_t instead of int for the loop counters i inside the checkInput fucntion as well. Note that int is not guaranted to be large enough to hold a size of any object type (an array of std::string in your case).
It is a good habit to prefer pre-increment over post-increment all things being equal in C++ since the first usually is faster.
Do not comment your code too much. Anyone perfectly knows that * means dereference:


// dereference possibleAnswers pointer to the
//ith position of the array
if (input == *pointerPossibleAnswers)



Make it a rule: "Comments shouldn't say what happens in code, they should say why this is happens".
You can easily restructure your code to get rid of the isAsking flag variable. All you have to do is explicitly return input when it equals to one of the possible answer.




1 As mentioned @πάντα ῥεῖ in the comments if you'll decide to use to make possibleAnswers constant you may want to use std::array. But in this case you have to use templates to pass different sized arrays to the possibleAnswers function.