Why is g++ not able to compile tuples?
<pre><code>#include &lt;iostream&gt;
#include &lt;tuple&gt;
#include &lt;string&gt;
using namespace std;

int main(){
  tuple&lt;string, string, string&gt; x;
  x = make_tuple("hi", "a", "b");
  cout &lt;&lt; get&lt;0&gt;(x) &lt;&lt; endl &lt;&lt; endl;

}
</code></pre>

<p>I've been having difficulties with my program, so I wrote a simpler one and even this does not work. I do not understand why there is a problem after reviewing the documentation several times. It also compiles fine on XCode but for some reason breaks down on g++.</p>

<p>Here is the full error message:</p>

<blockquote>
  <p>test.cpp:6:3: error: use of undeclared identifier 'tuple'</p>
  
  <p>tuple x;</p>
  
  <p>^</p>
  
  <p>test.cpp:6:9: error: unexpected type name 'string': expected
  expression</p>
  
  <p>tuple x;</p>

<pre><code>    ^
</code></pre>
  
  <p>test.cpp:7:3: error: use of undeclared identifier 'x'</p>
  
  <p>x = make_tuple("hi", "a", "b");</p>
  
  <p>^</p>
  
  <p>test.cpp:7:7: error: use of undeclared identifier 'make_tuple'</p>
  
  <p>x = make_tuple("hi", "a", "b");</p>

<pre><code>  ^
</code></pre>
  
  <p>test.cpp:8:11: error: reference to overloaded function could not be
  resolved; did you mean to call it?   cout &lt;&lt; get&lt;0>x &lt;&lt; endl &lt;&lt; endl;</p>
</blockquote>

<p>The command I am using is g++ test.cpp</p>