<?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[array, constant expression error !!!! &amp;lt;--- GELÖST]]></title><description><![CDATA[<p>wie kann ich zb einen array eine nicht constante länge zuweisen:</p>
<p>weil ich hab folgendes problem</p>
<p>brauche länge eines LPCWSTR als wert, als die vorbestimmte länge eines array's:</p>
<p>also,sizeof(StringToOutput) bring hier garnix ausser den wert 2, der aber nicht die länge des Strings wiedergibt und _tcslen(StringToOutput) in dem array geht auch nicht also dieses: char wColors[_tcslen(StringToOutput)];<br />
wie kann ich den array char wColors[] so gross machen wie eben der String StringToOutput ist?</p>
<pre><code class="language-cli">int WriteToConsole(LPCWSTR StringToOutput, int Color,COORD aTC){
	char wColors[sizeof(StringToOutput)];	memset(wColors,Color,sizeof(StringToOutput)); 
	WriteConsoleOutputCharacter(hNewScreenBuffer,StringToOutput,_tcslen(StringToOutput),aTC,NULL);
	WriteConsoleOutputAttribute(hNewScreenBuffer,(const WORD*)wColors,sizeof(StringToOutput),aTC,NULL);
	return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/278753/array-constant-expression-error-lt-gelöst</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 23:22:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278753.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 12 Dec 2010 16:23:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to array, constant expression error !!!! &amp;lt;--- GELÖST on Mon, 13 Dec 2010 12:46:12 GMT]]></title><description><![CDATA[<p>wie kann ich zb einen array eine nicht constante länge zuweisen:</p>
<p>weil ich hab folgendes problem</p>
<p>brauche länge eines LPCWSTR als wert, als die vorbestimmte länge eines array's:</p>
<p>also,sizeof(StringToOutput) bring hier garnix ausser den wert 2, der aber nicht die länge des Strings wiedergibt und _tcslen(StringToOutput) in dem array geht auch nicht also dieses: char wColors[_tcslen(StringToOutput)];<br />
wie kann ich den array char wColors[] so gross machen wie eben der String StringToOutput ist?</p>
<pre><code class="language-cli">int WriteToConsole(LPCWSTR StringToOutput, int Color,COORD aTC){
	char wColors[sizeof(StringToOutput)];	memset(wColors,Color,sizeof(StringToOutput)); 
	WriteConsoleOutputCharacter(hNewScreenBuffer,StringToOutput,_tcslen(StringToOutput),aTC,NULL);
	WriteConsoleOutputAttribute(hNewScreenBuffer,(const WORD*)wColors,sizeof(StringToOutput),aTC,NULL);
	return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1993371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1993371</guid><dc:creator><![CDATA[buntehaare]]></dc:creator><pubDate>Mon, 13 Dec 2010 12:46:12 GMT</pubDate></item><item><title><![CDATA[Reply to array, constant expression error !!!! &amp;lt;--- GELÖST on Sun, 12 Dec 2010 16:39:04 GMT]]></title><description><![CDATA[<p>Du kannst dynamische Arrays nehmen. Ich empfehle <code>std::vector</code> . Eine Einführung findest du <a href="http://magazin.c-plusplus.net/artikel/Aufbau%20der%20STL%20-%20Teil%201%3A%20Container" rel="nofollow">hier</a>, auf <a href="http://www.cplusplus.com" rel="nofollow">www.cplusplus.com</a> kannst du einzelne Funktionen nachschlagen.</p>
<p>Übrigens, der <code>sizeof</code> -Operator wird immer zur Kompilierzeit ausgewertet und bezieht sich auf den Typ der Deklaration. <code>sizeof(StringToOutput)</code> ist also <code>sizeof(LPCWSTR)</code> , was der Grösse eines Zeigers auf deinem System entspricht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1993379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1993379</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 12 Dec 2010 16:39:04 GMT</pubDate></item><item><title><![CDATA[Reply to array, constant expression error !!!! &amp;lt;--- GELÖST on Mon, 13 Dec 2010 12:45:52 GMT]]></title><description><![CDATA[<p>array, dynamische grössen in laufzeit zuorden so gehsts:</p>
<pre><code class="language-cli">int myFunctions(int len){char *wColors=new char[len]; return true;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1993701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1993701</guid><dc:creator><![CDATA[buntehaare]]></dc:creator><pubDate>Mon, 13 Dec 2010 12:45:52 GMT</pubDate></item><item><title><![CDATA[Reply to array, constant expression error !!!! &amp;lt;--- GELÖST on Mon, 13 Dec 2010 12:50:31 GMT]]></title><description><![CDATA[<p>buntehaare schrieb:</p>
<blockquote>
<p>array, dynamische grössen in laufzeit zuorden so gehsts:</p>
<pre><code class="language-cli">int myFunctions(int len){char *wColors=new char[len]; return true;}
</code></pre>
</blockquote>
<p>Also diese Funktion ist so ziemlicher Mist.</p>
<p>Du kannst natürlich ein dynamisches Array benutzen, dann aber auch wieder korrekt für die Freigabe sorgen!</p>
<p>Aber so wie die Funktion da steht macht die nichts nützliches ausser du willst deinen Speicher aufbrauchen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1993706</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1993706</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 13 Dec 2010 12:50:31 GMT</pubDate></item><item><title><![CDATA[Reply to array, constant expression error !!!! &amp;lt;--- GELÖST on Mon, 13 Dec 2010 12:51:00 GMT]]></title><description><![CDATA[<p>Nein, so geht das nicht. Du musst den Speicher nach Benutzung wieder freigeben, sonst hast du ein Leck. Am sinnvollsten macht man das idR mit std::vector, wie Nexus richtig bemerkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1993708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1993708</guid><dc:creator><![CDATA[seldon]]></dc:creator><pubDate>Mon, 13 Dec 2010 12:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to array, constant expression error !!!! &amp;lt;--- GELÖST on Tue, 14 Dec 2010 13:04:10 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>buntehaare schrieb:</p>
<blockquote>
<p>array, dynamische grössen in laufzeit zuorden so gehsts:</p>
<pre><code class="language-cli">int myFunctions(int len){char *wColors=new char[len]; return true;}
</code></pre>
</blockquote>
<p>Also diese Funktion ist so ziemlicher Mist.</p>
<p>Du kannst natürlich ein dynamisches Array benutzen, dann aber auch wieder korrekt für die Freigabe sorgen!</p>
<p>Aber so wie die Funktion da steht macht die nichts nützliches ausser du willst deinen Speicher aufbrauchen.</p>
</blockquote>
<p>na ist schon klar das die funktion nix bringt war ja nur zur veranschaulichung der dynamischen grössenzuordnung des array's gedacht!</p>
<p>naja kann ich mit delete den array-speicher wieder freigeben? oder gibts ne andere methode?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994360</guid><dc:creator><![CDATA[buntehaare]]></dc:creator><pubDate>Tue, 14 Dec 2010 13:04:10 GMT</pubDate></item><item><title><![CDATA[Reply to array, constant expression error !!!! &amp;lt;--- GELÖST on Tue, 14 Dec 2010 18:47:31 GMT]]></title><description><![CDATA[<p>buntehaare schrieb:</p>
<blockquote>
<p>na ist schon klar das die funktion nix bringt</p>
</blockquote>
<p>Dann schreib doch eine sinnvolle Funktion oder gar nichts hin, sonst stiftest du nur Verwirrung und machst den Eindruck, als hättest du grundlegendste Prinzipien nicht verstanden.</p>
<p>buntehaare schrieb:</p>
<blockquote>
<p>naja kann ich mit delete den array-speicher wieder freigeben? oder gibts ne andere methode?</p>
</blockquote>
<p>Ja, die gibts. Aber dafür müsstest du vielleicht meinen oberen Post lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1994607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1994607</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Tue, 14 Dec 2010 18:47:31 GMT</pubDate></item></channel></rss>