<?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[Wmissing-braces bei mehrdimensionalem array]]></title><description><![CDATA[<p>Hey</p>
<p>Folgendes:</p>
<pre><code class="language-cpp">const int SPIELFELD_HOEHE = 6;
const int SPIELFELD_BREITE = 7;
typedef std::array&lt;std::array&lt;int, SPIELFELD_BREITE&gt;, SPIELFELD_HOEHE&gt; feldTyp;

//...

feldTyp spielfeldMatrix = {{0}};
</code></pre>
<p>Gibt mir folgende Warnung:</p>
<pre><code>Warnung: geschweifte Klammern fehlen um Initialisierung für »std::array&lt;std::array&lt;int, 7u&gt;, 6u&gt;::value_type {aka std::array&lt;int, 7u&gt;}« [-Wmissing-braces]|
Warnung: geschweifte Klammern fehlen um Initialisierung für »std::array&lt;int, 7u&gt;::value_type [7] {aka int [7]}« [-Wmissing-braces]|
</code></pre>
<p>Und ich krieg die einfach nicht weg. Wenn ich</p>
<pre><code class="language-cpp">feldTyp spielfeldMatrix = {
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0}
                           };
</code></pre>
<p>mache, sagt er mir, ich hätte zu viele Werte geschrieben. Passt doch aber eigentlich, 6 hoch und 7 breit?<br />
Was hab ich falsch verstanden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302070/wmissing-braces-bei-mehrdimensionalem-array</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 14:07:25 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302070.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Apr 2012 18:17:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:17:54 GMT]]></title><description><![CDATA[<p>Hey</p>
<p>Folgendes:</p>
<pre><code class="language-cpp">const int SPIELFELD_HOEHE = 6;
const int SPIELFELD_BREITE = 7;
typedef std::array&lt;std::array&lt;int, SPIELFELD_BREITE&gt;, SPIELFELD_HOEHE&gt; feldTyp;

//...

feldTyp spielfeldMatrix = {{0}};
</code></pre>
<p>Gibt mir folgende Warnung:</p>
<pre><code>Warnung: geschweifte Klammern fehlen um Initialisierung für »std::array&lt;std::array&lt;int, 7u&gt;, 6u&gt;::value_type {aka std::array&lt;int, 7u&gt;}« [-Wmissing-braces]|
Warnung: geschweifte Klammern fehlen um Initialisierung für »std::array&lt;int, 7u&gt;::value_type [7] {aka int [7]}« [-Wmissing-braces]|
</code></pre>
<p>Und ich krieg die einfach nicht weg. Wenn ich</p>
<pre><code class="language-cpp">feldTyp spielfeldMatrix = {
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0},
                               {0, 0, 0, 0, 0, 0, 0}
                           };
</code></pre>
<p>mache, sagt er mir, ich hätte zu viele Werte geschrieben. Passt doch aber eigentlich, 6 hoch und 7 breit?<br />
Was hab ich falsch verstanden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200536</guid><dc:creator><![CDATA[Incocnito]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:17:54 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:28:08 GMT]]></title><description><![CDATA[<p>Compilerbug.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200540</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:28:08 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:33:42 GMT]]></title><description><![CDATA[<p>Mit MSVC läuft das. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /><br />
Edit: Na ja, das zweite Beispiel leider auch nicht.<br />
@TE<br />
Wenn du alles auf 0 setzen willst, kannst du auch std::fill nehmen, bzw. globale/statischen Variablen sind hier eh automatisch null.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200541</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:33:42 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:31:39 GMT]]></title><description><![CDATA[<p>Oh wow. Dafür fallen auf einen Bug im GCC 20 in MSVC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200544</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:31:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:34:32 GMT]]></title><description><![CDATA[<p>Auch gut.<br />
Und ich dachte schon, ich hätte da all die Jahre lang was falsch verstanden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200545</guid><dc:creator><![CDATA[Incocnito]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:34:32 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:37:06 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>@TE<br />
Wenn du alles auf 0 setzen willst, kannst du auch std::fill nehmen, bzw. globale/statischen Variablen sind hier eh automatisch null.</p>
</blockquote>
<p>Also bei = {{0}} wird auch alles genullt, bei mir. Ist das jetzt nur Zufall oder was?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200547</guid><dc:creator><![CDATA[Incocnito]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:37:06 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:38:05 GMT]]></title><description><![CDATA[<p>Incocnito schrieb:</p>
<blockquote>
<p>Also bei = {{0}} wird auch alles genullt, bei mir. Ist das jetzt nur Zufall oder was?</p>
</blockquote>
<p>Nein, wenn eine solche Initialisierung stattfindet, wird alles genullt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200548</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:38:05 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:38:21 GMT]]></title><description><![CDATA[<p>Das ist doch kein Wettbewerb, welcher Compiler weniger Fehler hat. Fakt ist, dies ist ein (mWn bekannter) Fehler im GCC, da dessen STL std::array ganz klassisch als gekapseltes Array implementiert und bei der Initialisierung die gleichen Regeln anwendet wie in klassischem C, dabei die Sonderregeln für std::array aber ignoriert. Im ersten Fall gibt dies eine unberechtigte Warnung, im zweiten compiliert legaler Code nicht. Um dem 4.6er GCC (ist das in 4.7 eigentlich behoben?) den Code trotzdem warnungs- und fehlerlos zu füttern muss man daher schreiben:</p>
<pre><code class="language-cpp">feldTyp spielfeldMatrix = {{{{0}}}}; 

  feldTyp spielfeldMatrix2 = {{
      {{0, 0, 0, 0, 0, 0, 0}},
      {{0, 0, 0, 0, 0, 0, 0}},
      {{0, 0, 0, 0, 0, 0, 0}},
      {{0, 0, 0, 0, 0, 0, 0}},
      {{0, 0, 0, 0, 0, 0, 0}},
      {{0, 0, 0, 0, 0, 0, 0}}}
  };
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2200549</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200549</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:38:21 GMT</pubDate></item><item><title><![CDATA[Reply to Wmissing-braces bei mehrdimensionalem array on Tue, 10 Apr 2012 18:44:44 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Incocnito schrieb:</p>
<blockquote>
<p>Also bei = {{0}} wird auch alles genullt, bei mir. Ist das jetzt nur Zufall oder was?</p>
</blockquote>
<p>Nein, wenn eine solche Initialisierung stattfindet, wird alles genullt.</p>
</blockquote>
<p>Eben, das hab ich auch gedacht. Deswegen war ich wegen der Warnung so verwiirt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>...</p>
</blockquote>
<p>Ich hab's eben mal mit 4.7 getestet, gibt ebenfalls ne Warnung.<br />
Danke für die Erklärung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200552</guid><dc:creator><![CDATA[Incocnito]]></dc:creator><pubDate>Tue, 10 Apr 2012 18:44:44 GMT</pubDate></item></channel></rss>