title: KEIL error: no instance of overloaded function "std::transform" matches the argument list
body: <p>I have a problem that does no resurface (even no warnings) in XCode but does allow me to compile in Keil MDK.</p>
  
  <pre><code>void grammar::parse(std::string &amp;_expr) {
      std::transform(_expr.begin(), _expr.end(), _expr.begin(), std::tolower);
      _expr.erase(std::remove_if(_expr.begin(), _expr.end(), std::isspace), _expr.end());
  }
  </code></pre>
  
  <p>That is what I get</p>
  
  <p>error:  #304: no instance of overloaded function "std::transform" matches the argument list
  error:  #304: no instance of function template "std::remove_if" matches the argument list</p>
  
  <p>Header included: </p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;sstream&gt;
  #include &lt;iomanip&gt;
  #include &lt;cmath&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;math.h&gt;
  #include &lt;ctype.h&gt;
  #include &lt;stdio.h&gt;
  #include &lt;algorithm&gt;
  </code></pre>
  
  <p>Could you please advise me on where to look? I am surprised that XCode version works as expected...</p>