
tuple&lt;X,X,X&gt;(string(&quot;Jaba&quot;), string(&quot;Daba&quot;), string(&quot;Duu&quot;)) // ok
</code></pre>

In particular, reference types do not have a default initialization: 

<pre><code>tuple&lt;double&amp;&gt;()                // error: reference must be 
                                // initialized explicitly

double d = 5; 
tuple&lt;double&amp;&gt;(d)               // ok

tuple&lt;double&amp;&gt;(d+3.14)          // error: cannot initialize 
                                // non-const re