<?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[Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27;]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich hab bei folgendem Programm Probleme bei der Konvertierung folgendes Problem:</p>
<p>error C2664: 'MessageBoxA' : Konvertierung des Parameters 1 von 'class CString *' in 'const char *' nicht moeglich</p>
<pre><code>CString test;
class A
{
test = testIter-&gt;name;
MessageBox(test); // funktioniert
}
_______________________

class B
{
CKlasseA *p_klasseA;
p_klasseA = new CKlasseA();

MessageBox(&amp;p_klasseA-&gt;test);
}
</code></pre>
<p>Ich habe nun beispielsweise versucht mit</p>
<pre><code>MessageBox((const char *)&amp;p_klasseA-&gt;test)
und
MessageBox((LPCTSTR)&amp;p_klasseA-&gt;test)
</code></pre>
<p>diese Konvertierung vorzunehmen. Ein Fehler wird zwar nicht mehr angezeigt, aber die Ausgabe liefert ein Wirrwar an Buchstaben wie beispielsweise &quot;IEI_1/4°A&quot;.<br />
Über die Suche bin ich leider auch nicht schlauer geworden.<br />
Ich hoffe, dass ich den interessanten Codeausschnitt relativ einfach dargestellt habe und nichts vergessen habe.</p>
<p>Grüße Edmundy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167418/konvertierung-von-class-cstring-in-const-char</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 15:13:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167418.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Dec 2006 04:13:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27; on Mon, 11 Dec 2006 04:13:26 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich hab bei folgendem Programm Probleme bei der Konvertierung folgendes Problem:</p>
<p>error C2664: 'MessageBoxA' : Konvertierung des Parameters 1 von 'class CString *' in 'const char *' nicht moeglich</p>
<pre><code>CString test;
class A
{
test = testIter-&gt;name;
MessageBox(test); // funktioniert
}
_______________________

class B
{
CKlasseA *p_klasseA;
p_klasseA = new CKlasseA();

MessageBox(&amp;p_klasseA-&gt;test);
}
</code></pre>
<p>Ich habe nun beispielsweise versucht mit</p>
<pre><code>MessageBox((const char *)&amp;p_klasseA-&gt;test)
und
MessageBox((LPCTSTR)&amp;p_klasseA-&gt;test)
</code></pre>
<p>diese Konvertierung vorzunehmen. Ein Fehler wird zwar nicht mehr angezeigt, aber die Ausgabe liefert ein Wirrwar an Buchstaben wie beispielsweise &quot;IEI_1/4°A&quot;.<br />
Über die Suche bin ich leider auch nicht schlauer geworden.<br />
Ich hoffe, dass ich den interessanten Codeausschnitt relativ einfach dargestellt habe und nichts vergessen habe.</p>
<p>Grüße Edmundy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189859</guid><dc:creator><![CDATA[edmundy]]></dc:creator><pubDate>Mon, 11 Dec 2006 04:13:26 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27; on Mon, 11 Dec 2006 05:38:39 GMT]]></title><description><![CDATA[<p>edmundy schrieb:</p>
<blockquote>
<p>Ich habe nun beispielsweise versucht mit</p>
<pre><code>MessageBox((const char *)&amp;p_klasseA-&gt;test)
und
MessageBox((LPCTSTR)&amp;p_klasseA-&gt;test)
</code></pre>
<p>diese Konvertierung vorzunehmen. Ein Fehler wird zwar nicht mehr angezeigt,</p>
</blockquote>
<p>Natürlich beschwert sich der Compiler dann nicht mehr. Mit einem Cast sagst du dem Compiler, dass du es besser weißt als er. Also hält er den Mund.</p>
<p>Ein Cast ist in den meisten Fällen nicht geeignet, um Compilefehler zu beheben. Damit tauschst du den Compilefehler nur gegen einen Laufzeitfehler aus, und die sind noch schwieriger zu beheben.</p>
<p>Lass einfach das &amp; weg. Im ersten Fall hast du doch auch keins.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189864</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189864</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Mon, 11 Dec 2006 05:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27; on Mon, 11 Dec 2006 07:51:09 GMT]]></title><description><![CDATA[<p>edmundy schrieb:</p>
<blockquote>
<pre><code>class B
{
CKlasseA *p_klasseA;
p_klasseA = new CKlasseA();

MessageBox(&amp;p_klasseA-&gt;test);
}
</code></pre>
</blockquote>
<p>Da ist ganz einfach ein &amp; zu viel (bei der Gelegenheit solltest du die Fehlermeldungen mal genauer ansehen - insbesondere die Verteilung der *).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189892</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 11 Dec 2006 07:51:09 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27; on Tue, 12 Dec 2006 16:53:24 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Danke für die Erläuterungen mit dem &amp;. Mein Problem war zuerst, dass ich einen leeren Zeiger hatte und daher versuchte ich es mit dem &amp;, was zu dem geschilderten Problem führte.<br />
Ich hab den interessanten Codeausschnitt jetzt mal erweitert, da ich denke, dass es doch eher ein grundlegender Fehler ist.</p>
<pre><code>// KlasseA.h

class CKlasseA : public CDialog
{
    CString test;
    CKlasseB m_klasseb;
    void Create_1();
};

//KlasseA.cpp

void CKlasseA::Create_1()
{
    test = testIter-&gt;name;
    MessageBox(test); // funktioniert
}
_______________________

// KLasseB.h

class CKlasseA;
class CKlasseB : public CDialog
{
    public: CKlasseA *p_klasseA;
    void Create_2();
};

// KlasseB.cpp

#include &quot;KlasseA.h&quot;

void CKlasseB::Create_2()
{
    p_klasseA = new CKlasseA();
    MessageBox(p_klasseA-&gt;test); // eine leere Anzeige
}
}
</code></pre>
<p>Ich hoffe, dass ich den Zusammenhang gut dargestellt habe und den Bereich des Boards nicht vollkommen verlassen zu haben.</p>
<p>Gruß Edmundy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190563</guid><dc:creator><![CDATA[edmundy]]></dc:creator><pubDate>Tue, 12 Dec 2006 16:53:24 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27; on Tue, 12 Dec 2006 13:07:06 GMT]]></title><description><![CDATA[<p>Und du wunderst dich jetzt darüber, dass da eine leere Messagebox angezeigt wird?</p>
<p>p_klasseA-&gt;test wird nirgendwo zugewiesen, also ist der String natürlich immer noch leer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190589</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 12 Dec 2006 13:07:06 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27; on Tue, 12 Dec 2006 13:14:01 GMT]]></title><description><![CDATA[<p>Außerdem hat CKlasseA einen Member vom Typ CKlasseA - wenn das kein Tipfehler ist, wundert es mich, wie der Code durch den Compiler gekommen ist (rekursive Datentypen gibt's in C++ nicht).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190596</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Dec 2006 13:14:01 GMT</pubDate></item><item><title><![CDATA[Reply to Konvertierung von &#x27;class CString *&#x27; in &#x27;const char *&#x27; on Tue, 12 Dec 2006 21:35:59 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Außerdem hat CKlasseA einen Member vom Typ CKlasseA - wenn das kein Tipfehler ist, wundert es mich, wie der Code durch den Compiler gekommen ist (rekursive Datentypen gibt's in C++ nicht).</p>
</blockquote>
<p>Sorry, ich habe mich dort leider verschrieben gehabt und es trotz Korrekturlesen übersehen gehabt.</p>
<p>Ich hab dank MFK den Fehler nun gefunden, bin dann auf die eigentliche Lösung gekommen und hab sehr viel über diese Problematik gelernt. Vielen Dank an euch beide.</p>
<p>Gruß Edmundy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190897</guid><dc:creator><![CDATA[edmundy]]></dc:creator><pubDate>Tue, 12 Dec 2006 21:35:59 GMT</pubDate></item></channel></rss>