<?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[Unterschied size_t zu UINT? Compilewarnung!]]></title><description><![CDATA[<p>Hallole.</p>
<p>Ich habe in meinem Programm öfters eine Vermischung von size_t und UINT.<br />
Der Compiler spuckt die Warnung</p>
<blockquote>
<p>warning C4267: '=': Konvertierung von 'size_t' nach 'UINT', Datenverlust möglich</p>
</blockquote>
<p>aus.</p>
<p>Wenn ich mir aber in der windef.h die definition von UINT angucke, sehe ich folgendes:</p>
<pre><code>typedef unsigned int        UINT;
</code></pre>
<p>Schaue ich mir die Definition von size_t an, dann sehe ich</p>
<pre><code>typedef unsigned int size_t;
</code></pre>
<p>Nur ich kann nicht herausfinden wo size_t definiert ist.</p>
<p>Also ist UINT und size_t dasselbe, nämlich ein unsigned int.</p>
<p>Warum spuckt mir der Compiler dann die Warnung aus?<br />
Kannich das getrost ignorieren?<br />
Kann ich das casten?</p>
<p>Danke mal Mondmann</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/185643/unterschied-size_t-zu-uint-compilewarnung</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 05:35:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/185643.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 29 Jun 2007 11:37:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 11:40:21 GMT]]></title><description><![CDATA[<p>Hallole.</p>
<p>Ich habe in meinem Programm öfters eine Vermischung von size_t und UINT.<br />
Der Compiler spuckt die Warnung</p>
<blockquote>
<p>warning C4267: '=': Konvertierung von 'size_t' nach 'UINT', Datenverlust möglich</p>
</blockquote>
<p>aus.</p>
<p>Wenn ich mir aber in der windef.h die definition von UINT angucke, sehe ich folgendes:</p>
<pre><code>typedef unsigned int        UINT;
</code></pre>
<p>Schaue ich mir die Definition von size_t an, dann sehe ich</p>
<pre><code>typedef unsigned int size_t;
</code></pre>
<p>Nur ich kann nicht herausfinden wo size_t definiert ist.</p>
<p>Also ist UINT und size_t dasselbe, nämlich ein unsigned int.</p>
<p>Warum spuckt mir der Compiler dann die Warnung aus?<br />
Kannich das getrost ignorieren?<br />
Kann ich das casten?</p>
<p>Danke mal Mondmann</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314893</guid><dc:creator><![CDATA[Mondmann]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:40:21 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 11:45:33 GMT]]></title><description><![CDATA[<p>size_t ist im ANSI-Standard festgelegt - und muß groß genug sein, um jede theoretisch mögliche Größenangabe zu schlucken. Das könnte also auch ein 'unsigned long' sein (oder ein eigener Datentyp außerhalb der int-Familie). UINT ist nur eine MS-Abkürzung für 'unsigned int'.</p>
<p>(PS: Wie kannst du dir die Definition von size_t ansehen, wenn du nicht weißt, wo sie steht?)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314901</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:45:33 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 11:46:29 GMT]]></title><description><![CDATA[<p>Meines Wissen ist die Warnung korrekt. Ein UINT ist wie der Name schon sagt immer ein unsigned int. Allerdings ist size_t die größte verfügbare Größe im System und könnte auf anderen Systemen eben ungleich unsigned int sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314902</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 11:53:00 GMT]]></title><description><![CDATA[<p>Wo ist denn size_t definiert????</p>
<p>Ich sehe das (VC++), wenn ich mir der Maus über den Datentyp gehe, kommt der kleine gelbe Popup.</p>
<p>Rechte Maustaste-&gt; gehe zu Definition-&gt; kommt Meldung:&quot;...nicht definiert...&quot;</p>
<p>Ist denn size_t IMMER ein unsigned? oder kann es auch ein signed sein?</p>
<p>ZB Liefert ja strlen ein size_t zurück.</p>
<p>habe ich eine Funktion zb:</p>
<p>MeineFunktion(int len);(...)</p>
<p>und übergebe dieser:<br />
MeineFunktion(strlen(variable));</p>
<p>KOmmt diese Fehlermeldung...<br />
Was TUN???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314905</guid><dc:creator><![CDATA[Mondmann]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:53:00 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 11:53:22 GMT]]></title><description><![CDATA[<p>nun,größen können nicht negativ sein,von daher müsste das immer unsigned sein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314911</guid><dc:creator><![CDATA[morgen]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:53:22 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 11:55:56 GMT]]></title><description><![CDATA[<p>Mondmann schrieb:</p>
<blockquote>
<p>Wo ist denn size_t definiert????</p>
</blockquote>
<p>In etwa einem halben Dutzend Standard-Headern <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>Ich sehe das (VC++), wenn ich mir der Maus über den Datentyp gehe, kommt der kleine gelbe Popup.</p>
<p>Rechte Maustaste-&gt; gehe zu Definition-&gt; kommt Meldung:&quot;...nicht definiert...&quot;</p>
</blockquote>
<p>Und woher hast du dann die obige Definition ausgegraben?</p>
<blockquote>
<p>Ist denn size_t IMMER ein unsigned? oder kann es auch ein signed sein?</p>
</blockquote>
<p>Ja, es ist vorzeichenlos. (btw, der dazugehörige vorzeichenbehaftete Typ nennt sich 'ptrdiff_t')</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314914</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 11:55:46 GMT]]></title><description><![CDATA[<p>Ich sage ja: Wenn ich mit der Maus drüberfahre, kommt das Popup wo<br />
&quot;typedef unsigned int size_t drinsteht...&quot;<br />
Daher habe ich das...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1314916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314916</guid><dc:creator><![CDATA[Mondmann]]></dc:creator><pubDate>Fri, 29 Jun 2007 11:55:46 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 12:44:24 GMT]]></title><description><![CDATA[<p>Mondmann schrieb:</p>
<blockquote>
<p>Wo ist denn size_t definiert????</p>
</blockquote>
<p>In &lt;cstddef&gt;. (§18.1-2)</p>
<p>Um zu testen, was es nun genau ist, kannst du mit Templates spielen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstddef&gt;

using namespace std;

template &lt;typename T&gt;
void test();

template &lt;&gt;
void test&lt;unsigned&gt;()
{
  cout &lt;&lt; &quot;unsigned&quot; &lt;&lt; endl;
}

template &lt;&gt;
void test&lt;unsigned long&gt;()
{
  cout &lt;&lt; &quot;unsigned long&quot; &lt;&lt; endl;
}

int main()
{
  test&lt;size_t&gt;();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1314952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1314952</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Fri, 29 Jun 2007 12:44:24 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 14:30:44 GMT]]></title><description><![CDATA[<p>7H3 N4C3R schrieb:</p>
<blockquote>
<p>Mondmann schrieb:</p>
<blockquote>
<p>Wo ist denn size_t definiert????</p>
</blockquote>
<p>In &lt;cstddef&gt;. (§18.1-2)</p>
<p>Um zu testen, was es nun genau ist, kannst du mit Templates spielen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;cstddef&gt;

using namespace std;

template &lt;typename T&gt;
void test();

template &lt;&gt;
void test&lt;unsigned&gt;()
{
  cout &lt;&lt; &quot;unsigned&quot; &lt;&lt; endl;
}

template &lt;&gt;
void test&lt;unsigned long&gt;()
{
  cout &lt;&lt; &quot;unsigned long&quot; &lt;&lt; endl;
}

int main()
{
  test&lt;size_t&gt;();
}
</code></pre>
</blockquote>
<p>Was soll das Beispiel? Zwischen &quot;unsigned&quot; und &quot;unsigned long&quot; gibts da einen<br />
Unterschied(ausser unterschiedliche Schreibweise) ? <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/1315050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315050</guid><dc:creator><![CDATA[egon2]]></dc:creator><pubDate>Fri, 29 Jun 2007 14:30:44 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Fri, 29 Jun 2007 15:08:29 GMT]]></title><description><![CDATA[<p>egon2 schrieb:</p>
<blockquote>
<p>Was soll das Beispiel? Zwischen &quot;unsigned&quot; und &quot;unsigned long&quot; gibts da einen<br />
Unterschied(ausser unterschiedliche Schreibweise) ? <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>
</blockquote>
<p>Es sind unterschiedliche Datentypen. Das ist der Unterschied. unsigned long ist mindestens so breit wie unsigned (int), kann aber auch breiter sein. Selbst bei selber Größe sind es immernoch unterschiedliche Datentypen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315072</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315072</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Fri, 29 Jun 2007 15:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Sat, 30 Jun 2007 11:18:14 GMT]]></title><description><![CDATA[<p>@N4C3R: Ich hoffe, dir ist klar, daß dein Testprogramm auch zu einem Linker-Fehler führen könnte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Es ist nirgends vorgeschrieben, daß size_t ein simpler typedef für einen der üblichen unsigned-Typen sein muß, also kann sich dahinter auch etwas vollkommen autonomes verbergen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315533</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 30 Jun 2007 11:18:14 GMT</pubDate></item><item><title><![CDATA[Reply to Unterschied size_t zu UINT? Compilewarnung! on Sat, 30 Jun 2007 13:07:06 GMT]]></title><description><![CDATA[<p>$17.4.4.7, Fußnote 174 sagt es explizit, dass es ein Basic Integral Type sein muss. Ansonsten, da size_t aus einem C-Header kommt und im Kompatiblitätsabschnitt keine Abweichung bezüglich size_t beschrieben wird, folgt daraus implizit, dass size_t ein integraler Typ sein muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1315621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1315621</guid><dc:creator><![CDATA[7H3 N4C3R]]></dc:creator><pubDate>Sat, 30 Jun 2007 13:07:06 GMT</pubDate></item></channel></rss>