<?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[Fehler bei vectoren]]></title><description><![CDATA[<p>Hallo, ich kriege beim Kompilieren immer die Meldungen:</p>
<p>error C2057: Konstanter Ausdruck erwartet<br />
error C2466: Zuordnung eines Arrays der konstanten Größe 0 nicht möglich.<br />
error C2133: 'values': Unbekannte Größe</p>
<p>Die Fehler beziehen sich alle auf die zweite Zeile des Quelltextausschnitts. Hier mal der Code:</p>
<pre><code class="language-cpp">vector&lt;int&gt; possibilities = findPossibilities(spheres);
float values[possibilities.size()];
</code></pre>
<p>Verstehe nicht warum der ein Problem hat ein Array in der Größe von &quot;possibilities&quot; zu machen. Jemand ne idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230755/fehler-bei-vectoren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 04:08:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230755.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Jan 2009 15:08:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 15:08:34 GMT]]></title><description><![CDATA[<p>Hallo, ich kriege beim Kompilieren immer die Meldungen:</p>
<p>error C2057: Konstanter Ausdruck erwartet<br />
error C2466: Zuordnung eines Arrays der konstanten Größe 0 nicht möglich.<br />
error C2133: 'values': Unbekannte Größe</p>
<p>Die Fehler beziehen sich alle auf die zweite Zeile des Quelltextausschnitts. Hier mal der Code:</p>
<pre><code class="language-cpp">vector&lt;int&gt; possibilities = findPossibilities(spheres);
float values[possibilities.size()];
</code></pre>
<p>Verstehe nicht warum der ein Problem hat ein Array in der Größe von &quot;possibilities&quot; zu machen. Jemand ne idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1637977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1637977</guid><dc:creator><![CDATA[vector]]></dc:creator><pubDate>Thu, 01 Jan 2009 15:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 15:17:50 GMT]]></title><description><![CDATA[<p>Ganz einfach, Arrays brauchen bei der Deklarierung immer einen konstanten Größenausdruck, was ja auch deine Feherlmeldung:</p>
<blockquote>
<p>error C2057: Konstanter Ausdruck erwartet</p>
</blockquote>
<p>aussagt.<br />
Und da std::vector&lt;T&gt;::size() zur Laufzeit varrieren kann, kannst du damit kein Array deklarieren. Es wäre so möglich:</p>
<pre><code class="language-cpp">float* values = new float[possibilities.size()];
</code></pre>
<p>Oder du nimmst einfach einen neuen vector</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1637984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1637984</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 01 Jan 2009 15:17:50 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 15:18:17 GMT]]></title><description><![CDATA[<p>size() wird erst zur laufzeit ausgewertet, die größe eines arrays muss zur<br />
compile-time feststehen.</p>
<p>nimm doch noch einen vector</p>
<pre><code class="language-cpp">vector&lt;float&gt; values(possibilities.size());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1637985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1637985</guid><dc:creator><![CDATA[helferlein]]></dc:creator><pubDate>Thu, 01 Jan 2009 15:18:17 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 15:32:53 GMT]]></title><description><![CDATA[<p>Jo, da hätte ich auch ma drauf kommen können^^<br />
Habs jetzt mit noch nem vector gemacht. Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1637993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1637993</guid><dc:creator><![CDATA[vector]]></dc:creator><pubDate>Thu, 01 Jan 2009 15:32:53 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 15:47:37 GMT]]></title><description><![CDATA[<p>Wenn es &quot;const vector......&quot; wäre dann würde es aber doch schon gehen oder?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638000</guid><dc:creator><![CDATA[Stromberg_]]></dc:creator><pubDate>Thu, 01 Jan 2009 15:47:37 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 17:22:54 GMT]]></title><description><![CDATA[<p>Stromberg_ schrieb:</p>
<blockquote>
<p>Wenn es &quot;const vector......&quot; wäre dann würde es aber doch schon gehen oder?</p>
<p>MfG<br />
Stromberg</p>
</blockquote>
<p>Nope.<br />
(IIRC kommt etwas Ähnliches im nächsten Std - &quot;constexpr&quot; und C99 kennt &quot;VarArrays&quot;)</p>
<p>Einfaches Gegenbeispiel:</p>
<pre><code class="language-cpp">void f(vector&lt;int&gt; const&amp; v);

int main() {
   vector&lt;int&gt; v(20); // -&gt; size() == 20
   f(v);
   v.resize(40); // -&gt; size() == 40
   f(v);
...

void f(vector&lt;int&gt; const&amp; v) {
   int arr[v.size()]; // was soll der Compiler hier nehmen?
</code></pre>
<p>Es geht hier um Compilezeitkonstanten also Variablen, deren Wert bereits zur Compilezeit festeht....</p>
<p>Sowas geht derzeit nur &quot;static-const-Integralen&quot; (int, char, ...., keine Ahnung, ob ich den richtigen Ausdruck dafür verwendet habe), die bereits bei der Deklaration initialisiert werden.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638021</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 01 Jan 2009 17:22:54 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 20:13:34 GMT]]></title><description><![CDATA[<p>Ich verstehe es immer noch nicht. Wenn ich einen &quot;const vector&lt;int&gt; vec(20,7)&quot; habe, dann kann der ja weder seine Elementanzahl verändern, oder die Werte der Elemente oder? Also ist doch zur Kompilierzeit alles fest?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638083</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638083</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Thu, 01 Jan 2009 20:13:34 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler bei vectoren on Thu, 01 Jan 2009 20:17:44 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Ich verstehe es immer noch nicht. Wenn ich einen &quot;const vector&lt;int&gt; vec(20,7)&quot; habe, dann kann der ja weder seine Elementanzahl verändern, oder die Werte der Elemente oder? Also ist doch zur Kompilierzeit alles fest?</p>
</blockquote>
<p>der funktionsaufruf v.size() kann nur zur laufzeit passieren, nicht zur compilezeit. das ergebnis steht zwar fest, weil wie total klug sind, der compiler isses aber nicht. der müßte v.size() aufrufen, aufrufen mag er's aber nicht, weil er erst die datei compilieren will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638085</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638085</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 01 Jan 2009 20:17:44 GMT</pubDate></item></channel></rss>