title: Error C2679: "binary '<<': no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)"
body: <p>my little brother is currently learning how to code in C++, and as a way to test different ways Arrays can be use, he started a program that would have the computer generate a random number, then output a particular emotion (stored in an array) based on that number.  For some reason however, the section of code where the output goes doesn't want to work the way I suggested.</p>
  
  <p>The way I thought it should be written was 'cout &lt;&lt; "I'm" &lt;&lt; emotion[x] &lt;&lt; endl;', which I'm sure has worked for me in the past, but for some reason the computer won't accept that.  I haven't actually coded in C++ for a while, so maybe something has changed or I forgot how 'cout' works.</p>
  
  <p>It's probably something super simple and stupid that I should have caught already, but I just can't see it.  Here's the rest of the code, in case the problem is somewhere further up the line.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;ctime&gt;
  #include &lt;fstream&gt;
  
  using namespace std;
  
  
  string emotion[6];
  
  int main() {
          emotion[0] = "Happy";
          emotion[1] = "Sad";
          emotion[2] = "Angry";
          emotion[3] = "Fearful";
          emotion[4] = "Disgusted";
          emotion[5] = "Suprised";
  
          srand(time(NULL));
  
          int x;
          x = (rand() % 6);
  
          cout &lt;&lt; "I'm " &lt;&lt; emotion[x] &lt;&lt; endl;
  
          system("PAUSE");
  }
  </code></pre>