<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Initialisierung von std::array als Basisklasse]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich baue mir gerade eine vector-Klasse. Diese erbt privat von std::array. Diese Klasse hat einen Konstruktor, der dieses std::array initialisieren soll. Folgendes funktioniert:</p>
<pre><code class="language-cpp">template &lt;typename... Args&gt;
	vector_base(Args&amp;&amp;... args)
		: array_type{{ args... }}
	{}
</code></pre>
<p>Aber ohne doppelte {} tut es das nicht. Warum? Ich dachte hier greift brace ellision.</p>
<p>Gruesse,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/308342/initialisierung-von-std-array-als-basisklasse</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 23:51:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/308342.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 21 Sep 2012 20:33:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Initialisierung von std::array als Basisklasse on Fri, 21 Sep 2012 20:33:12 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>Ich baue mir gerade eine vector-Klasse. Diese erbt privat von std::array. Diese Klasse hat einen Konstruktor, der dieses std::array initialisieren soll. Folgendes funktioniert:</p>
<pre><code class="language-cpp">template &lt;typename... Args&gt;
	vector_base(Args&amp;&amp;... args)
		: array_type{{ args... }}
	{}
</code></pre>
<p>Aber ohne doppelte {} tut es das nicht. Warum? Ich dachte hier greift brace ellision.</p>
<p>Gruesse,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2253413</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2253413</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Fri, 21 Sep 2012 20:33:12 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierung von std::array als Basisklasse on Fri, 21 Sep 2012 20:41:01 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Hallo Leute,</p>
<p>Ich baue mir gerade eine vector-Klasse. Diese erbt privat von std::array. Diese Klasse hat einen Konstruktor, der dieses std::array initialisieren soll. Folgendes funktioniert:</p>
<pre><code class="language-cpp">template &lt;typename... Args&gt;
	vector_base(Args&amp;&amp;... args)
		: array_type{{ args... }}
	{}
</code></pre>
<p>Aber ohne doppelte {} tut es das nicht. Warum? Ich dachte hier greift brace ellision.</p>
</blockquote>
<p>So viel ich weiß, tut es das nicht. Hier:<br />
8.5.1/11</p>
<blockquote>
<p>11 In a declaration of the form<br />
T x = { a };<br />
braces can be elided in an initializer-list as follows.105 [...]<br />
105) Braces cannot be elided in other uses of list-initialization.</p>
</blockquote>
<p>Dein Fall fällt unter <code>other uses</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2253416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2253416</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Fri, 21 Sep 2012 20:41:01 GMT</pubDate></item></channel></rss>