<?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[Warning eliminieren?]]></title><description><![CDATA[<p>HI,</p>
<p>ich bekomme bei folgendem ein warning:</p>
<pre><code class="language-cpp">wchar_t buf[100]; 
            SendMessage(bla,LB_GETTEXT,item-&gt;itemID,(long)buf);
</code></pre>
<p>warning C4311: 'type cast' : pointer truncation from 'wchar_t *' to 'long'</p>
<p>Wie kann ich diesen warning beheben?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/104996/warning-eliminieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 05:38:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/104996.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 24 Mar 2005 18:23:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 18:23:10 GMT]]></title><description><![CDATA[<p>HI,</p>
<p>ich bekomme bei folgendem ein warning:</p>
<pre><code class="language-cpp">wchar_t buf[100]; 
            SendMessage(bla,LB_GETTEXT,item-&gt;itemID,(long)buf);
</code></pre>
<p>warning C4311: 'type cast' : pointer truncation from 'wchar_t *' to 'long'</p>
<p>Wie kann ich diesen warning beheben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752080</guid><dc:creator><![CDATA[Jesus ist Da]]></dc:creator><pubDate>Thu, 24 Mar 2005 18:23:10 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 18:45:05 GMT]]></title><description><![CDATA[<p>Sollte AFAIK nur auftreten, wenn du für 64-Bit kompilierst. In diesem Fall ist ein Zeiger einfach zu groß für einen 32-Bit-long.</p>
<p>Falls du C++ programmierst, hilft es vielleicht reinterpret_cast zu nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752090</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Thu, 24 Mar 2005 18:45:05 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 18:47:08 GMT]]></title><description><![CDATA[<p>Selbst mit reinterpret_cast tritt die warning noch auf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/752091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752091</guid><dc:creator><![CDATA[Jesus ist Da]]></dc:creator><pubDate>Thu, 24 Mar 2005 18:47:08 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 19:00:08 GMT]]></title><description><![CDATA[<p>Geh auf die Projekteinstellungen und trag bei &quot;Nach 64Bit-Kompatibilitätsproblemem suchen&quot; No ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752101</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Thu, 24 Mar 2005 19:00:08 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 19:04:47 GMT]]></title><description><![CDATA[<p>cd9000 schrieb:</p>
<blockquote>
<p>Geh auf die Projekteinstellungen und trag bei &quot;Nach 64Bit-Kompatibilitätsproblemem suchen&quot; No ein.</p>
</blockquote>
<p>Das ist aber keine feine Lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752114</guid><dc:creator><![CDATA[Jesus ist Da]]></dc:creator><pubDate>Thu, 24 Mar 2005 19:04:47 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 19:48:58 GMT]]></title><description><![CDATA[<p>Jesus ist Da schrieb:</p>
<blockquote>
<p>Das ist aber keine feine Lösung?</p>
</blockquote>
<p>Scheint so.</p>
<p>Hab grad nochmal im <a href="http://msdn.microsoft.com/library/en-us/win64/win64/rules_for_using_pointers.asp" rel="nofollow">Platform SDK</a> nachgesehen, die richtige Lösung ist:</p>
<blockquote>
<p>7. The LPARAM, WPARAM, and LRESULT types change size with the platform.<br />
When compiling 64-bit code, these types expand to 64 bits, because they typically hold pointers or integral types. Do not mix these values with DWORD, ULONG, UINT, INT, int, or long values. Examine how you use these types and ensure that you do not inadvertently truncate values.</p>
</blockquote>
<p>Du solltest also nicht auf long, sondern auf LPARAM casten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752156</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Thu, 24 Mar 2005 19:48:58 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 19:50:33 GMT]]></title><description><![CDATA[<p>kapier ich net?</p>
<p>typedef long LONG_PTR;<br />
typedef LONG_PTR LPARAM;</p>
<p>müsste doch long gehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752158</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752158</guid><dc:creator><![CDATA[Jesis ist Da]]></dc:creator><pubDate>Thu, 24 Mar 2005 19:50:33 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 19:59:55 GMT]]></title><description><![CDATA[<p>Kommt die Warnung denn noch, wenn du auf LPARAM castest?</p>
<p>LONG_PTR ist nur auf deiner 32-Bit-Plattforum 32 Bit groß. Auf einem 64-Bit-System hat LONG_PTR 64 Bit.<br />
LONG ist aber immer ein &quot;32-bit signed integer&quot;, also zu klein für einen 64-Bit-Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752163</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Thu, 24 Mar 2005 19:59:55 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 20:01:49 GMT]]></title><description><![CDATA[<p>wie kann LONG_PTR 64Bit haben wenn die definition ganz klar long ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/752166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752166</guid><dc:creator><![CDATA[Jesis ist Da]]></dc:creator><pubDate>Thu, 24 Mar 2005 20:01:49 GMT</pubDate></item><item><title><![CDATA[Reply to Warning eliminieren? on Thu, 24 Mar 2005 20:44:48 GMT]]></title><description><![CDATA[<p>Jesis ist Da schrieb:</p>
<blockquote>
<p>wie kann LONG_PTR 64Bit haben wenn die definition ganz klar long ist?</p>
</blockquote>
<p>Die Definition ist auf deiner Maschine ein 32-Bit-Integer.</p>
<p>Du solltest auch das Umfeld der Definition beachten:</p>
<pre><code class="language-cpp">// Ausschnitt aus basetsd.h
#if defined(_WIN64)
    typedef __int64 LONG_PTR, *PLONG_PTR;
#else
    typedef _W64 long LONG_PTR, *PLONG_PTR;
#endif
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/752195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/752195</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Thu, 24 Mar 2005 20:44:48 GMT</pubDate></item></channel></rss>