title: error: no matching function call for call to - compiles with VS2013 though
body: <p>I'm writing a piece of code that's supposed to run on multiple platforms. I got the code working when compiling with Visual Studio 2013 with no problems, but now that I try to compile it for Android, I get the error mentioned in the title.</p>
  
  <p>The code I'm trying to compile is like this:</p>
  
  <pre><code>#pragma once
  
  #include &lt;string&gt;
  
  class StringUtils
  {
  public:
      static std::string readFile(const std::string&amp; filename);
      static std::string&amp; trimStart(std::string&amp; s);
      static std::string&amp; trimEnd(std::string&amp; s);
      static std::string&amp; trim(std::string&amp; s);
  };
  </code></pre>
  
  <p>The methods above are mentioned in the error. As an example, I try to call the <code>trim()</code> method like this:</p>
  
  <pre><code>std::string TRData::readValue(std::ifstream&amp; ifs)
  {
      std::string line;
      std::getline(ifs, line);
      int colon = line.find_first_of(':');
      assert(colon != std::string::npos);
      return StringUtils::trim(line.substr(colon + 1));
  }
  </code></pre>
  
  <p>The error message points to the last line in this method. How can I fix this problem? As I said, it compiles with VS2013 but not for Android using the default NDK toolchain.</p>
  
  <p>EDIT: Forgot to paste the exact error message, here it is:</p>
  
  <pre><code>error : no matching function for call to 'StringUtils::trim(std::basic_string&lt;char&gt;)'
  </code></pre>