title: No match for operator++ in stl_tree.h even though i haven't changed it
body: <p>i got my code working without errors in main.cpp, but suddenly, i get this error:</p>
  
  <pre><code>/opt/lintula/gcc/include/c++/5.2.0/bits/stl_tree.h:2223: error: no match for ‘operator++’ (operand type is ‘std::__cxx11::basic_string&lt;char&gt;’)
    for (; __first != __last; ++__first)
                              ^
  </code></pre>
  
  <p>I haven't touched the stl_tree.h, why is the error happening there? How can i debug these kinds of problems when i don't know where to start?</p>
  
  <p>Here's the code, where im trying to read and insert data in form of 
  name:points into a std::map</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;vector&gt;
  #include &lt;map&gt;
  #include &lt;string&gt;
  #include &lt;fstream&gt;
  
  using namespace std;
  
  int main()
  {
     map&lt;string, string&gt; piste_hakemisto;
     string input_tiedosto;
     cout &lt;&lt; "Input file: ";
     cin &gt;&gt; input_tiedosto;
     ifstream tiedosto_olio(input_tiedosto);
     if (not tiedosto_olio){
         cout &lt;&lt; "Error! The file " &lt;&lt; input_tiedosto &lt;&lt; " cannot be opened.";
         return EXIT_FAILURE;
     }
     string nimi;
     string pisteet;
     string rivi;
     while( getline(tiedosto_olio, rivi)){
         getline(tiedosto_olio, rivi);
         int erotin_indeksi = rivi.find(":");
         nimi = rivi.substr(0, erotin_indeksi);
         pisteet = rivi.substr((erotin_indeksi));
         piste_hakemisto = {nimi, pisteet};
     }
  
  }
  </code></pre>