title: 'std::out_of_range' what(): basic_string::substr: __pos
body: <p>I'm writing a program for my class that'll sort a list of albums by the albums name and then the albums songs in alphabetical order. I'm getting the error 'std::out_of_range' what():  basic_string::substr: __pos (which is 4) > this->size() (which is 0). My teacher kind of just threw this at us without explaining much so I'm stuck. This is the code I have so far:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  
  using namespace std;
  
  struct album
   {
      string name;
      string release;
      string genre;
      string songs[12];
      int count;
   };
  
  int main()
   {
    album albums[4];
          for (int an = 0; an &lt; 3; an++)
        {
              for (int i = 0; i &lt; albums[an].count-1; i++)
                {
  
                      if (albums[an].songs[i].substr(4) &gt; albums[an].songs[i+1].substr(4))
                        {
                              swap (albums[an].songs[i], albums[an].songs[i+1]);
                        }
                }
        }
  </code></pre>
  
  <p>And the input data is a list of albums with the release date, genre, and songs:</p>
  
  <pre><code>Walk, Don't Run 
  Released 1960
  Genre    Instrumental rock, Surf
   1. Morgen
   2. Raunchy
   3. Home
   4. My Own True Love (Tara's Theme)
   5. The Switch
   6. Walk, Don't Run
   7. Night Train
   8. No Trespassing
   9. Caravan
  10. Sleepwalk
  11. The McCoy
  12. Honky Tonk
  ================================== 
  Another Smash!!!  
  Released 1961
  Genre    Surf rock 
   1. (Ghost) Riders in the Sky (2:28)
   2. Wheels (1:55)
   3. Lonely Heart (2:10)
   4. Bulldog (2:20)
   5. Lullaby of the Leaves (1:58)
   6. Beyond the Reef (3:05)
   7. Raw-Hide (2:29)
   8. Meet Mister Callahan (2:20)
   9. Trambone (2:04)
  10. Last Date (2:13)
  11. Ginchy (1:40)
  12. Josie (2:04)
  ================================== 
  The Ventures Play Telstar and the Lonely Bull
  Released 1963
  Genre    Surf rock 
   1. Telstar (2:37)
   2. The Lonely Bull (2:11)
   3. Mexico (2:26)
   4. Calcutta (2:20)
   5. Apache (3:08)
   6. Never on Sunday (2:14)
   7. Tequila (2:44)
   8. Green Onions (2:05)
   9. Percolator (2:14)
  10. Red River Rock (2:15)
  11. Let There Be Drums (2:20)
  12. Last Night (2:29)
  ================================== 
  Hawaii Five-O 
  Released 1969
  Genre    Instrumental
   1. Hawaii Five-O (1:59)
   2. Lovin' Things (2:31)
   3. Galveston (2:40)
   4. The Letter (2:10)
   5. Don't Give in to Him (2:12)
   6. Theme from A Summer Place (2:16)
   7. Medley: Spooky/Traces/Stormy (4:25)
   8. Medley: Aquarius/Let the Sunshine In (2:49)
   9. Games People Play (2:46)
  10. I Can Hear Music (2:37)
  11. Dizzy (2:31)
  </code></pre>