<?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[Warum keine Warnung bei unterschiedlichen Varablengrößen]]></title><description><![CDATA[<p>Hi,</p>
<p>ich verwende Visual Studio 2008 mit folgendem C++ Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
	short s = 10;
	unsigned short us = 11;

	int i = 32769;
	unsigned int ui = 13;

	long l = 14;
	unsigned long ul = 15;

	long long ll = 16;
	unsigned long long ull = 17;

	float f = 7.2f;

	double d = 8.7;

	char c = 'a';

	s = i;  //Diese Zeile
	cout &lt;&lt; s;

	return 0;
}
</code></pre>
<p>Warum gibt es bei der markierten Zeile keine Warnung des Compilers bei der Übersetzung, obwohl mit der Ausgabe von -32767 eindeutig zu erkennen ist, dass ein Überlauf stattgefunden hat? (0 Fehler, 0 Warnung(en))</p>
<p>Nach dem wie ich es verstanden hatte, hätte doch ein expliziter Cast notwendig sein müssen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    />.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309770/warum-keine-warnung-bei-unterschiedlichen-varablengrößen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 06:30:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309770.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 26 Oct 2012 15:00:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Warum keine Warnung bei unterschiedlichen Varablengrößen on Fri, 26 Oct 2012 15:00:37 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich verwende Visual Studio 2008 mit folgendem C++ Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
	short s = 10;
	unsigned short us = 11;

	int i = 32769;
	unsigned int ui = 13;

	long l = 14;
	unsigned long ul = 15;

	long long ll = 16;
	unsigned long long ull = 17;

	float f = 7.2f;

	double d = 8.7;

	char c = 'a';

	s = i;  //Diese Zeile
	cout &lt;&lt; s;

	return 0;
}
</code></pre>
<p>Warum gibt es bei der markierten Zeile keine Warnung des Compilers bei der Übersetzung, obwohl mit der Ausgabe von -32767 eindeutig zu erkennen ist, dass ein Überlauf stattgefunden hat? (0 Fehler, 0 Warnung(en))</p>
<p>Nach dem wie ich es verstanden hatte, hätte doch ein expliziter Cast notwendig sein müssen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    />.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264467</guid><dc:creator><![CDATA[Anfänger2012]]></dc:creator><pubDate>Fri, 26 Oct 2012 15:00:37 GMT</pubDate></item><item><title><![CDATA[Reply to Warum keine Warnung bei unterschiedlichen Varablengrößen on Fri, 26 Oct 2012 15:09:34 GMT]]></title><description><![CDATA[<p>Du musst das Warning-Level umstellen, dann bekommst du auch eine Warnung:<br />
<code>Warning	1	warning C4244: '=' : conversion from 'int' to 'short', possible loss of data</code> Allerdings warnt er nicht vor einen Überlauf, sondern vor einem Informationsverlust.</p>
<p>In Visual Studio solltest du das einstellen:<br />
<code>Configuration Properties - C/C++ - Warning Level=Level4(/W4)</code></p>
<p>Nimm aber nicht <code>EnableAllWarnings</code> , da bekommst du unter Umständen irgendwann Probelem, ich weiß nicht mehr genau wo das war. Auf jeden Fall erkennt er dann manchmal Warning, wo keine sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264469</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Fri, 26 Oct 2012 15:09:34 GMT</pubDate></item><item><title><![CDATA[Reply to Warum keine Warnung bei unterschiedlichen Varablengrößen on Fri, 26 Oct 2012 15:11:21 GMT]]></title><description><![CDATA[<p>Im Übrigen hast du noch zwei Datentypen vergessen in deiner Liste:<br />
unsigned char<br />
signed char<br />
:p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264470</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Fri, 26 Oct 2012 15:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to Warum keine Warnung bei unterschiedlichen Varablengrößen on Fri, 26 Oct 2012 15:20:29 GMT]]></title><description><![CDATA[<p>Unter GCC ist das Flag -W-sign-conversion für obige Fälle da (nur so nebenbei).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264475</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Fri, 26 Oct 2012 15:20:29 GMT</pubDate></item><item><title><![CDATA[Reply to Warum keine Warnung bei unterschiedlichen Varablengrößen on Fri, 26 Oct 2012 15:35:52 GMT]]></title><description><![CDATA[<p>Anfänger2012 schrieb:</p>
<blockquote>
<p>ich verwende Visual Studio 2008</p>
</blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Unter GCC ...</p>
</blockquote>
<p>-1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264484</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264484</guid><dc:creator><![CDATA[probewertung]]></dc:creator><pubDate>Fri, 26 Oct 2012 15:35:52 GMT</pubDate></item><item><title><![CDATA[Reply to Warum keine Warnung bei unterschiedlichen Varablengrößen on Fri, 26 Oct 2012 16:27:22 GMT]]></title><description><![CDATA[<blockquote>
<p>In Visual Studio solltest du das einstellen:<br />
Configuration Properties - C/C++ - Warning Level=Level4(/W4)</p>
</blockquote>
<p>Ja! Jetzt funktioniert es so, wie ich es mir vorgestellt habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2264498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2264498</guid><dc:creator><![CDATA[Anfänger2012]]></dc:creator><pubDate>Fri, 26 Oct 2012 16:27:22 GMT</pubDate></item></channel></rss>