<?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[nicht konstanten Parameter an konstantes argument übergeben]]></title><description><![CDATA[<p>Hallo, bei Allegro gibt es folgende Funktion:</p>
<pre><code class="language-cpp">textout_ex( screen, font, COLOR, 10, 10, makecol( 0, 0, 0), makecol( 0, 0, 0) );
</code></pre>
<p>Ich möchte nun für den 3. Parameter COLOR (short) einsetzen, eine Variable die laufend geändert wird und einen Farbwert anzeigt.<br />
Dass Problem ist nun, man kann in den 3. Parameter nur &quot;const char *&quot; einsetzen. Gibts es nun irgendetwas wie ich die Funktion überlisten kann und letztendlich doch zum meinem Glück komme und COLOR einsetzen kann?<br />
Ich hätte da an const_cast gedacht, hat bei mir aber nicht funktioniert (vll. habe ich aber auch falsche Syntax angewendet). Kann mir bitte jemand helfen?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261866/nicht-konstanten-parameter-an-konstantes-argument-übergeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 00:33:38 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261866.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Feb 2010 22:30:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to nicht konstanten Parameter an konstantes argument übergeben on Wed, 24 Feb 2010 22:30:19 GMT]]></title><description><![CDATA[<p>Hallo, bei Allegro gibt es folgende Funktion:</p>
<pre><code class="language-cpp">textout_ex( screen, font, COLOR, 10, 10, makecol( 0, 0, 0), makecol( 0, 0, 0) );
</code></pre>
<p>Ich möchte nun für den 3. Parameter COLOR (short) einsetzen, eine Variable die laufend geändert wird und einen Farbwert anzeigt.<br />
Dass Problem ist nun, man kann in den 3. Parameter nur &quot;const char *&quot; einsetzen. Gibts es nun irgendetwas wie ich die Funktion überlisten kann und letztendlich doch zum meinem Glück komme und COLOR einsetzen kann?<br />
Ich hätte da an const_cast gedacht, hat bei mir aber nicht funktioniert (vll. habe ich aber auch falsche Syntax angewendet). Kann mir bitte jemand helfen?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860887</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860887</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Wed, 24 Feb 2010 22:30:19 GMT</pubDate></item><item><title><![CDATA[Reply to nicht konstanten Parameter an konstantes argument übergeben on Wed, 24 Feb 2010 22:34:33 GMT]]></title><description><![CDATA[<p>Das Problem scheint nicht zu sein, dass ein konstanter Parameter erwartet wird (weil variablen werden implizit zu konstanten. Nur andersrum geht es nicht), sondern eben ein char const* und kein short! Das wird schon so seinen Sinn haben. Lies nochmal die Doku nach, was die da genau erwarten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860893</guid><dc:creator><![CDATA[rüdiger]]></dc:creator><pubDate>Wed, 24 Feb 2010 22:34:33 GMT</pubDate></item><item><title><![CDATA[Reply to nicht konstanten Parameter an konstantes argument übergeben on Wed, 24 Feb 2010 22:57:01 GMT]]></title><description><![CDATA[<p>Mh, aber es geht wirklich nur mit &quot;const char *&quot; oder ich steh auf dem Schlauch. Hier mein Test:</p>
<pre><code class="language-cpp">char letter1 = 'a'; //Geht nicht
textout_ex( screen, font, letter1, 10, 10, makecol( 0, 0, 0), makecol( 255, 255, 255) );
const char *letter2 = &quot;blabla&quot;; //Geht
textout_ex( screen, font, letter2, 10, 30, makecol( 0, 0, 0), makecol( 255, 255, 255) );
</code></pre>
<blockquote>
<p>H:\C++ Projekte\Allegro Trys\Examp1\main.cpp:56: error: invalid conversion from `char' to `const char*'<br />
H:\C++ Projekte\Allegro Trys\Examp1\main.cpp:56: error: initializing argument 3 of `void textout_ex(BITMAP*, const FONT*, const char*, int, int, int, int)'</p>
</blockquote>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860903</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Wed, 24 Feb 2010 22:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to nicht konstanten Parameter an konstantes argument übergeben on Wed, 24 Feb 2010 23:07:11 GMT]]></title><description><![CDATA[<p>letter1 ist ein char.<br />
letter2 ist ein Zeiger auf char.<br />
Das ist ein großer Unterschied.</p>
<p>Edit: wenn du also &amp;letter1 übergibst, dann kompiliert es.<br />
Da aber wahrscheinlich ein nullterminierter String erwartet wird, ist das eine ganz schlechte Idee.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1860908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1860908</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Wed, 24 Feb 2010 23:07:11 GMT</pubDate></item><item><title><![CDATA[Reply to nicht konstanten Parameter an konstantes argument übergeben on Sat, 27 Feb 2010 23:09:27 GMT]]></title><description><![CDATA[<p>Ich habe diese Fehlermeldung schon öfters gesehen. Meistens bedeutet sie eigentlich nur, dass Du zuwenig Args übergibst. Bei</p>
<p>textout_ex übersieht man leicht einen Wert.</p>
<p>Sonst gibt es eigentlich selten Fehler...</p>
<pre><code>textout_ex(buffer,font,x,y,makecol(Wert1,Wert2,Wert3),makecol(Wert4,..,..),
&quot;Dein Text%s&quot;,Cstring.c_str());

textout_ex(buffer,font,x,y,makecol(Wert1,Wert2,Wert3),makecol(Wert4,..,..),
&quot;Dein Text %c&quot;,Char[X]);  // Diese Version gibt nur ein Zeichen aus.
</code></pre>
<p>Vielleicht hilfts ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1862213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1862213</guid><dc:creator><![CDATA[Der Supercoder]]></dc:creator><pubDate>Sat, 27 Feb 2010 23:09:27 GMT</pubDate></item></channel></rss>