<?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[Compilerfehlermeldung]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Programm von einem Bekannten bekommen, bei dem mir versischert wurde das es einwandfrei läuft. Wenn ich es nun compilieren will so geht es natürlich nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Hier die Fehlermeldung:<br />
<a href="http://richardsdd.cc:519" rel="nofollow">richardsdd.cc:519</a>: error: could not convert ‘surfaceWaterDirichletNodes[i].Dune::BitSetVector&lt;block_size, Alloc&gt;::operator[] [with int block_size = 1, Allocator = std::allocator&lt;bool&gt;](j)’ to ‘bool’</p>
<p>bitsetvector ist ein dynamisches Array aus blöcken, diese blöcken bestehen aus bool Werten.</p>
<p><a href="http://www.dune-project.org/doc-1.2/doxygen/html/classDune_1_1BitSetVector.html" rel="nofollow">http://www.dune-project.org/doc-1.2/doxygen/html/classDune_1_1BitSetVector.html</a></p>
<p>hier der entsprechende Code:</p>
<pre><code>BitSetVector&lt;1&gt; surfaceWaterDirichletNodes[numGrids];
.
.// nicht relevanter Code
.
  for (int j=0; j&lt;u[i].size(); j++)
    if (surfaceWaterDirichletNodes[i][j]) // von dieser zeile kommt die meldung
                u[i][j] = parameters[i].physicalToGeneralizedPressure(surfaceWaterPressure[i][j]);
</code></pre>
<p>Ich bin ratlos, da m.M. die Syntax korrekt ist, die if-abfrage verlangt einen bool-wert und dieser leigt mit &quot;surfaceWaterDirichletNodes[i][j]&quot; vor.</p>
<p>Ich habe kde-linux und verwende dessen Standartcompiler.</p>
<p>Vielen Dank</p>
<p>Rellich</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/274714/compilerfehlermeldung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 07:14:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/274714.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Oct 2010 10:03:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Compilerfehlermeldung on Fri, 01 Oct 2010 10:03:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Programm von einem Bekannten bekommen, bei dem mir versischert wurde das es einwandfrei läuft. Wenn ich es nun compilieren will so geht es natürlich nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
<p>Hier die Fehlermeldung:<br />
<a href="http://richardsdd.cc:519" rel="nofollow">richardsdd.cc:519</a>: error: could not convert ‘surfaceWaterDirichletNodes[i].Dune::BitSetVector&lt;block_size, Alloc&gt;::operator[] [with int block_size = 1, Allocator = std::allocator&lt;bool&gt;](j)’ to ‘bool’</p>
<p>bitsetvector ist ein dynamisches Array aus blöcken, diese blöcken bestehen aus bool Werten.</p>
<p><a href="http://www.dune-project.org/doc-1.2/doxygen/html/classDune_1_1BitSetVector.html" rel="nofollow">http://www.dune-project.org/doc-1.2/doxygen/html/classDune_1_1BitSetVector.html</a></p>
<p>hier der entsprechende Code:</p>
<pre><code>BitSetVector&lt;1&gt; surfaceWaterDirichletNodes[numGrids];
.
.// nicht relevanter Code
.
  for (int j=0; j&lt;u[i].size(); j++)
    if (surfaceWaterDirichletNodes[i][j]) // von dieser zeile kommt die meldung
                u[i][j] = parameters[i].physicalToGeneralizedPressure(surfaceWaterPressure[i][j]);
</code></pre>
<p>Ich bin ratlos, da m.M. die Syntax korrekt ist, die if-abfrage verlangt einen bool-wert und dieser leigt mit &quot;surfaceWaterDirichletNodes[i][j]&quot; vor.</p>
<p>Ich habe kde-linux und verwende dessen Standartcompiler.</p>
<p>Vielen Dank</p>
<p>Rellich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959989</guid><dc:creator><![CDATA[Rellich]]></dc:creator><pubDate>Fri, 01 Oct 2010 10:03:36 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Fri, 01 Oct 2010 10:10:28 GMT]]></title><description><![CDATA[<p>Rellich schrieb:</p>
<blockquote>
<p>Ich bin ratlos, da m.M. die Syntax korrekt ist, die if-abfrage verlangt einen bool-wert und dieser leigt mit &quot;surfaceWaterDirichletNodes[i][j]&quot; vor.</p>
</blockquote>
<p>Nein, surfaceWaterDirichletNodes[i][j] ist immer noch ein Bitset, auch wenn nur ein einziges Bit drin ist. Du musst also angeben, welches Bit dieses Set du testen willst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1959991</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1959991</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 01 Oct 2010 10:10:28 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Fri, 01 Oct 2010 19:31:43 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>Rellich schrieb:</p>
<blockquote>
<p>Ich bin ratlos, da m.M. die Syntax korrekt ist, die if-abfrage verlangt einen bool-wert und dieser leigt mit &quot;surfaceWaterDirichletNodes[i][j]&quot; vor.</p>
</blockquote>
<p>Nein, surfaceWaterDirichletNodes[i][j] ist immer noch ein Bitset, auch wenn nur ein einziges Bit drin ist. Du musst also angeben, welches Bit dieses Set du testen willst.</p>
</blockquote>
<p>Bist du dir da sicher? So wie ich das sehe greift er mit dem zweiten Index doch bereits auf die Klasse zu.<br />
Siehe:</p>
<pre><code class="language-cpp">surfaceWaterDirichletNodes[i] : BitSetVector&lt;1&gt;
BitSetVector&lt;1&gt;[j] : bool
</code></pre>
<p>Deine Aussage wäre richtig, sofern surfaceWaterDirichletNodes ein zweidimensionales Array wäre.<br />
Oder übersehe ich hier jetzt was?<br />
Gruß Gate</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960250</guid><dc:creator><![CDATA[Gate]]></dc:creator><pubDate>Fri, 01 Oct 2010 19:31:43 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Mon, 04 Oct 2010 05:55:37 GMT]]></title><description><![CDATA[<p>Gate schrieb:</p>
<blockquote>
<p>Bist du dir da sicher? So wie ich das sehe greift er mit dem zweiten Index doch bereits auf die Klasse zu.</p>
</blockquote>
<p>Ja, aber die Klasse ist ein <strong>Vector</strong> von <strong>Bitsets</strong>, bringt also schon mal zwei Dimensionen mit.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960980</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960980</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 04 Oct 2010 05:55:37 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Mon, 04 Oct 2010 07:10:01 GMT]]></title><description><![CDATA[<p>Warum hier eigentlich keinen vector&lt;bool&gt;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1960998</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1960998</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 04 Oct 2010 07:10:01 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Mon, 04 Oct 2010 12:17:20 GMT]]></title><description><![CDATA[<p>ich habe das Problem nun &quot;gelöst&quot;</p>
<p>indem ich in die if-Bedingung umgeschrieben habe:</p>
<pre><code>BitSetVector&lt;1&gt; surfaceWaterDirichletNodes[numGrids];
.
.// nicht relevanter Code
.
  for (int j=0; j&lt;u[i].size(); j++)
    if (surfaceWaterDirichletNodes[i][j]==1) // von dieser zeile kommt die meldung
                u[i][j] = parameters[i].physicalToGeneralizedPressure(surfaceWaterPressure[i][j]);
</code></pre>
<p>Kann das vielleicht an dem Compiler liegen ? ich bin da echt ratlos wieso das eine geht, das andere aber nicht <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>
<p>Grüße,</p>
<p>Rellich</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1961119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1961119</guid><dc:creator><![CDATA[Rellich]]></dc:creator><pubDate>Mon, 04 Oct 2010 12:17:20 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Mon, 04 Oct 2010 12:39:29 GMT]]></title><description><![CDATA[<p>Rellich schrieb:</p>
<blockquote>
<p>Kann das vielleicht an dem Compiler liegen ?</p>
</blockquote>
<p>Nein. Merke dir diese Faustregel: <strong>Du findest keine Compilerfehler. Nie.</strong></p>
<p>Dein Fehler wurde dir schon erklärt. Der Unterschied bei der zweiten Variante ist, dass du hier explizit den Operator == von bitset aufrufst, welcher dann implizit die 1 zu einem bitset wandelt, da ein entsprechender Konstruktor existiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1961137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1961137</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 04 Oct 2010 12:39:29 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Mon, 04 Oct 2010 13:31:30 GMT]]></title><description><![CDATA[<p>ich habe mich da etwas ungenau ausgedrückt. ich meinte könnte es am Compiler liegen. Ich denke mir nämlich mein bekannter benutzt compiler xy bei sich, da klappt es. ich benutze nun compiler a da klappt es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1961163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1961163</guid><dc:creator><![CDATA[Rellich]]></dc:creator><pubDate>Mon, 04 Oct 2010 13:31:30 GMT</pubDate></item><item><title><![CDATA[Reply to Compilerfehlermeldung on Mon, 04 Oct 2010 13:48:39 GMT]]></title><description><![CDATA[<p>Rellich schrieb:</p>
<blockquote>
<p>ich habe mich da etwas ungenau ausgedrückt. ich meinte könnte es am Compiler liegen. Ich denke mir nämlich mein bekannter benutzt compiler xy bei sich, da klappt es. ich benutze nun compiler a da klappt es nicht.</p>
</blockquote>
<p>Es ist den Implementierungen überlassen, zusätzliche Features in die Standardbibliothek einzubauen, daher kann es möglich sein, dass deine erste (nicht standardkonforme) Variante trotzdem übersetzt wird. Ich fände es jedoch sehr ungewöhnlich, dass sich jemand die Mühe macht ein ziemlich nutzloses Feature in eine wenig benutzte Klasse einzubauen und würde daher eher von einem Irrtum deinerseits ausgehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1961174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1961174</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 04 Oct 2010 13:48:39 GMT</pubDate></item></channel></rss>