<?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[Konstantenausdruck erforderlich ???]]></title><description><![CDATA[<p>Warum bekomme ich folgende Fehlermeldung bei anschließendem Code?</p>
<p>[C++ Fehler] Unit1.cpp(52): E2313 Konstantenausdruck erforderlich</p>
<pre><code class="language-cpp">unsigned int i = StrLen(Memo1-&gt;Lines-&gt;Text.c_str());
char inhalt[i];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/109805/konstantenausdruck-erforderlich</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Jul 2026 13:52:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/109805.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 14 May 2005 02:27:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konstantenausdruck erforderlich ??? on Sat, 14 May 2005 02:27:23 GMT]]></title><description><![CDATA[<p>Warum bekomme ich folgende Fehlermeldung bei anschließendem Code?</p>
<p>[C++ Fehler] Unit1.cpp(52): E2313 Konstantenausdruck erforderlich</p>
<pre><code class="language-cpp">unsigned int i = StrLen(Memo1-&gt;Lines-&gt;Text.c_str());
char inhalt[i];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/788235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/788235</guid><dc:creator><![CDATA[HardRock]]></dc:creator><pubDate>Sat, 14 May 2005 02:27:23 GMT</pubDate></item><item><title><![CDATA[Reply to Konstantenausdruck erforderlich ??? on Sat, 14 May 2005 07:01:51 GMT]]></title><description><![CDATA[<p>HardRock schrieb:</p>
<blockquote>
<p>Warum bekomme ich folgende Fehlermeldung bei anschließendem Code?</p>
<p>[C++ Fehler] Unit1.cpp(52): E2313 Konstantenausdruck erforderlich</p>
<pre><code class="language-cpp">unsigned int i = StrLen(Memo1-&gt;Lines-&gt;Text.c_str());
char inhalt[i];
</code></pre>
</blockquote>
<p>Bei der Definition eines Arrays muß die Größe zur Kompilierzeit bekannt sein. (in C++ zumindest).</p>
<p>Wenn du in deinem Fall die Größe des Arrays erst zur Laufzeit weißt, dann mußt du es auf dem Heap erstellen:</p>
<pre><code class="language-cpp">char* inhalt = new char[i];
...
delete [] inhalt; // nicht vergessen, sonst hast du ein Speicherleck!
</code></pre>
<p>Eine andere Möglichkeit wäre die Verwendung von std::vector (der im Prinzip das gleiche tut, wobei du dich allerdings nicht um das Löschen nachher kümmern mußt):</p>
<pre><code class="language-cpp">#include &lt;vector&gt;
...
std::vector &lt;char&gt; inhalt;
inhalt.reserve (i);
</code></pre>
<p>Btw: Das hier</p>
<pre><code class="language-cpp">StrLen(Memo1-&gt;Lines-&gt;Text.c_str());
</code></pre>
<p>kann recht ineffizient sein; verwende besser</p>
<pre><code class="language-cpp">Memo1-&gt;Lines-&gt;Text.Length ();
</code></pre>
<p>.</p>
<p>Moritz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/788243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/788243</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Sat, 14 May 2005 07:01:51 GMT</pubDate></item><item><title><![CDATA[Reply to Konstantenausdruck erforderlich ??? on Sat, 14 May 2005 07:58:24 GMT]]></title><description><![CDATA[<p>Vielen vielen Dank! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/788250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/788250</guid><dc:creator><![CDATA[HardRock]]></dc:creator><pubDate>Sat, 14 May 2005 07:58:24 GMT</pubDate></item></channel></rss>