<?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[Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Die Funktion tolower aus der Bibliothek ctype.h gibt mir einige Rätsel auf. Die Funktion soll ja bei einem eingegeben großem &quot;T&quot; ein kleines &quot;t&quot; zurückliefern. Komischerweise tut es das aber bei mir nicht. Ich gebe ein &quot;T&quot; (also, 084 in ASCII) ein, zurück bekomme ich aber ein &quot;'&quot;. Ich weiß nicht was ich falsch mache.</p>
<p>Könnt ihr mir helfen?</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;ctype.h&gt;
using namespace std;

char func()
{
char tolower(char c);
}

int main()
{
 char c;

 cin &gt;&gt; c;

 cout &lt;&lt; func();

system(&quot;pause&quot;);
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/278191/problem-mit-der-funktion-quot-tolower-quot-aus-ctype-h</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 09:22:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278191.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Dec 2010 17:04:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:04:56 GMT]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Die Funktion tolower aus der Bibliothek ctype.h gibt mir einige Rätsel auf. Die Funktion soll ja bei einem eingegeben großem &quot;T&quot; ein kleines &quot;t&quot; zurückliefern. Komischerweise tut es das aber bei mir nicht. Ich gebe ein &quot;T&quot; (also, 084 in ASCII) ein, zurück bekomme ich aber ein &quot;'&quot;. Ich weiß nicht was ich falsch mache.</p>
<p>Könnt ihr mir helfen?</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;ctype.h&gt;
using namespace std;

char func()
{
char tolower(char c);
}

int main()
{
 char c;

 cin &gt;&gt; c;

 cout &lt;&lt; func();

system(&quot;pause&quot;);
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1988654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988654</guid><dc:creator><![CDATA[bandchef]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:04:56 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:07:48 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">char func() 
{ 
char tolower(char c); 
}
</code></pre>
<p>Das ist eine Funktionsdeklaration. Schau in deinem C++-Buch am besten nochmals genau nach, wie eine Funktion aufgerufen wird. Und wie das mit den Scopes funktioniert, könntest du auch gleich nachlesen <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1988657</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988657</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:15:12 GMT]]></title><description><![CDATA[<p>Ich kann mich Nexus nur anschließen.<br />
Hab dein Code aber mal korrigiert:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;ctype.h&gt;
using namespace std;

char func(char c)
{
return tolower(c);
}

int main()
{
 char c;

 cin &gt;&gt; c;

 cout &lt;&lt; func(c);

system(&quot;pause&quot;);
return 0;
}
</code></pre>
<p>Eventuell hilft dir das ja.<br />
MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988661</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:15:12 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:18:21 GMT]]></title><description><![CDATA[<p>Der Vollständigkeit halber: so macht man es in C++:</p>
<pre><code class="language-cpp">#include &lt;locale&gt;

template &lt;class charT&gt;
charT func(charT c)
{
  static std::locale loc;
  return std::tolower(c, loc);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1988662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988662</guid><dc:creator><![CDATA[Rochen]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:18:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:22:42 GMT]]></title><description><![CDATA[<p>Sorry, aber ich hab gerade gesehen, dass ich wieder fälschlicherweise ins c++ Forum geschrieben habe. Ich programmiere eigentlich C aber mit der &quot;Ergänzung&quot; unseren Profs, dass wir cout als einzigen Bestandteil von C++ benutzen sollen. Könntest du vielleicht verschieben?</p>
<p>Ich hab mir Funktionenaufruf angesehen. Ich kann's ja eigentlich auch. Hier ein kleines Beispiel. Ich weiß nur nicht warum das mit der tolower-Funktion nicht geht...</p>
<p>Mein Beispiel:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;ctype.h&gt;
using namespace std;

int func(int x, int y)
{
    int ergebnis;
    ergebnis = x+y;
}

int main()
{
 int a, b;

 cin &gt;&gt; a &gt;&gt; b;

 cout &lt;&lt; func(a, b);

system(&quot;pause&quot;);
return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1988664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988664</guid><dc:creator><![CDATA[bandchef]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:28:39 GMT]]></title><description><![CDATA[<p>Das hier ist Jochen S. Code:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;ctype.h&gt;
using namespace std;

char func(char c)
{
return tolower(c);
}

int main()
{
 char c;

 cin &gt;&gt; c;

 cout &lt;&lt; func(c);

system(&quot;pause&quot;);
return 0;
}
</code></pre>
<p>Warum darf ich an der Stelle &quot;return tolower(c);&quot; nicht &quot;return tolower(char c);&quot; schreiben? Ist das dann an der Stelle wie eine Doppeldeklaration?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988674</guid><dc:creator><![CDATA[bandchef]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:28:39 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:31:32 GMT]]></title><description><![CDATA[<p>bandchef schrieb:</p>
<blockquote>
<p>Ich hab mir Funktionenaufruf angesehen. Ich kann's ja eigentlich auch. Hier ein kleines Beispiel. Ich weiß nur nicht warum das mit der tolower-Funktion nicht geht...</p>
</blockquote>
<p>Nochmals: Weil du eine Funktions<strong>deklaration</strong> statt eines Funktions<strong>aufrufs</strong> hingeschrieben hast.</p>
<p>bandchef schrieb:</p>
<blockquote>
<p>Warum darf ich an der Stelle &quot;return tolower(c);&quot; nicht &quot;return tolower(char c);&quot; schreiben? Ist das dann an der Stelle wie eine Doppeldeklaration?</p>
</blockquote>
<p>Gesteh dir doch ein, dass dir hier noch einige Kenntnisse fehlen. Lies das Kapitel nochmals nach, das beschreibt, wie Funktionen deklariert, definiert und aufgerufen werden. Du verwechselst hier einiges.</p>
<p>Rochen schrieb:</p>
<blockquote>
<p>Der Vollständigkeit halber: so macht man es in C++</p>
</blockquote>
<p>Das Template finde ich etwas übertrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988676</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:31:32 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Wed, 01 Dec 2010 17:40:26 GMT]]></title><description><![CDATA[<p>Du hast recht, ich werde mir diesbezüglich nochmals meine Übungen durchschauen. Ich will hier übrigens ein Programm schreiben, dass mir Zeichenketten auf Gleichheit überprüft. Ich melde mich später dazu wieder wenn ich die Funktionsaufrufe besser drauf hab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988680</guid><dc:creator><![CDATA[bandchef]]></dc:creator><pubDate>Wed, 01 Dec 2010 17:40:26 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 10:53:52 GMT]]></title><description><![CDATA[<p>bandchef schrieb:</p>
<blockquote>
<p>Mein Beispiel:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;ctype.h&gt;
using namespace std;

int func(int x, int y)
{
    int ergebnis;
    ergebnis = x+y;
}

int main()
{
 int a, b;
 
 cin &gt;&gt; a &gt;&gt; b;
 
 cout &lt;&lt; func(a, b);
 
system(&quot;pause&quot;);
return 0;
}
</code></pre>
</blockquote>
<p>Das funktioniert doch auch nicht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988925</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 02 Dec 2010 10:53:52 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 11:33:09 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Das funktioniert doch auch nicht!</p>
</blockquote>
<p>Vielleicht zufällig doch, undefiniertes Verhalten. Es ist hier durchaus denkbar, dass das berechnete Ergebnis in dem Register liegt, in dem auch die Rückgabe stehen würde, wenn es sie gäbe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1988946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1988946</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 02 Dec 2010 11:33:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 18:06:58 GMT]]></title><description><![CDATA[<p>Ein moderner Compiler würde sowas nicht mal kompilieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989228</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 02 Dec 2010 18:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 18:26:24 GMT]]></title><description><![CDATA[<p>Nexus  schrieb:</p>
<blockquote>
<p>Ein moderner Compiler würde sowas nicht mal kompilieren.</p>
</blockquote>
<p>Ja, aber nur weil system nicht deklariert ist.<br />
Nimmt man diese Zeile raus, kommen Warnungen erst bei -Wall, kompillieren tut er es erst nicht mehr bei einem zusätzlichen -Werror. Mein Compiler ist `gcc version 4.4.5 (Debian 4.4.5-10)', ich sehe ihn als sehr modern an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989237</guid><dc:creator><![CDATA[ModernerKompailerNutzer]]></dc:creator><pubDate>Thu, 02 Dec 2010 18:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 18:36:25 GMT]]></title><description><![CDATA[<p>ModernerKompailerNutzer schrieb:</p>
<blockquote>
<p>Mein Compiler ist `gcc version 4.4.5 (Debian 4.4.5-10)', ich sehe ihn als sehr modern an.</p>
</blockquote>
<p>Ich hingegen sehe es als Bug an, wenn man in einer Funktion mit Rückgabewert <code>int</code> kein <code>return</code> -Statement haben muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989241</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 02 Dec 2010 18:36:25 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 19:38:56 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ein moderner Compiler würde sowas nicht mal kompilieren.</p>
</blockquote>
<p>Du meinst, ein buggy Compiler? Was für einen Grund sollte ein Compiler sonst haben, sich mutwillig über den Standard hinwegzusetzen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989291</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 02 Dec 2010 19:38:56 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 20:17:03 GMT]]></title><description><![CDATA[<p>Ich dachte, das würde so im C++-Standard stehen, aber es ist tatsächlich &quot;nur&quot; undefiniertes Verhalten.</p>
<p>Bashar schrieb:</p>
<blockquote>
<p>Du meinst, ein buggy Compiler? Was für einen Grund sollte ein Compiler sonst haben, sich mutwillig über den Standard hinwegzusetzen?</p>
</blockquote>
<p>Weil er auf diese Weise offensichtliche Fehler vermeidet, auch ohne dass dies im Standard explizit steht. Ich sehe nicht, wieso du das so dramatisch als &quot;mutwillig darüber hinweggesetzt&quot; bezeichnest. Ich bin sehr froh über gemeldete Fehler zur Kompilierzeit, hier schadet die Meldung wirklich nichts.</p>
<p>Oder hast du etwa einen sinnvollen Anwendungsfall?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989314</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989314</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 02 Dec 2010 20:17:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 20:38:05 GMT]]></title><description><![CDATA[<p>Es hindert dich niemand, deinen Compiler mit der Option <code>-Werror=return-type</code> aufzurufen, dann hast du deinen Error. Da ich davon ausgehe, dass du als errorphiler (fehlerliebender) Programmierer eh unter <code>-pedantic -Wall -Wextra -Werror</code> kompillierst, hast du das Problem gar nicht und kannst den nicht ganz so radiklen Programmierern die Freiheiten lassen, die C++ einem gewährt. Jedem das Seine.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989322</guid><dc:creator><![CDATA[ModernerKompailerNutzer]]></dc:creator><pubDate>Thu, 02 Dec 2010 20:38:05 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 20:48:47 GMT]]></title><description><![CDATA[<p>Sinnvoll kann es dann sein, wenn der Programmier weiß, was er macht.</p>
<pre><code class="language-cpp">int f1()
{
	_asm
	{
		mov eax, 20; &lt;- Edit: Gewohnheitssemikolon
	}
}
</code></pre>
<p>Einen anderen Fall kenne ich aber nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989323</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Thu, 02 Dec 2010 20:48:47 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 21:04:38 GMT]]></title><description><![CDATA[<p>ModernerKompailerNutzer schrieb:</p>
<blockquote>
<p>Da ich davon ausgehe, dass du als errorphiler (fehlerliebender) Programmierer eh unter <code>-pedantic -Wall -Wextra -Werror</code> kompillierst</p>
</blockquote>
<p>Nein, ich benutze Visual Studio.</p>
<p>ModernerKompailerNutzer schrieb:</p>
<blockquote>
<p>hast du das Problem gar nicht und kannst den nicht ganz so radiklen Programmierern die Freiheiten lassen, die C++ einem gewährt. Jedem das Seine.</p>
</blockquote>
<p>Ja. Nur schade, dass diese Regel eine weitere unnötige Fehlerquelle in C++ ist, die Anfängern, welche standardmässig nicht 4 Spezialflags an g++ übergeben, Sorgen bereitet. Ich war jedenfalls schon ab und zu froh um diese Fehlermeldung.</p>
<p>Vicious Falcon schrieb:</p>
<blockquote>
<p>Sinnvoll kann es dann sein, wenn der Programmier weiß, was er macht.</p>
<pre><code class="language-cpp">int f1()
{
	_asm
	{
		mov eax, 20; &lt;- Edit: Gewohnheitssemikolon
	}
}
</code></pre>
<p>Einen anderen Fall kenne ich aber nicht.</p>
</blockquote>
<p>Lustig ist, dass VS genug intelligent ist, diesen Fall zu erkennen und keinen Fehler zu verursachen. Also genau wie es sein sollte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Nicht immer ist alles schlecht, was sich nicht an den Standard hält. Es wäre zum Beispiel von Vorteil gewesen, hätten einige Standardbibliotheken den Bug von <code>std::bind1st</code> und <code>std::bind2nd</code> nicht implementiert. Naja, mit <code>std::bind</code> ist das Thema eh vom Tisch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989341</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989341</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 02 Dec 2010 21:04:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 21:22:19 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Ich dachte, das würde so im C++-Standard stehen, aber es ist tatsächlich &quot;nur&quot; undefiniertes Verhalten.</p>
</blockquote>
<p>Aber auch nur, wenn die Ausführung tatsächlich das Ende der Funktion erreicht. In dem Beispiel mag das ja so sein, aber im Allgemeinen ist das gar nicht möglich, das zu erkennen.</p>
<p>Einfaches Beispiel, um das zu verdeutlichen:</p>
<pre><code class="language-cpp">bool p();
void g();
int f() {
  if (p())
    return 0;
  else
    g(); // kein return? ja, aber ... s.u.
}

void g() {
  throw 1;
}
</code></pre>
<p>Man kann also nicht in den Standard reinschreiben, dass der Compiler sowas erkennen muss. Und wenn man es auf die Fälle beschränkt, wo es möglich ist (geht das?), kann man es auch gleich sein lassen.</p>
<blockquote>
<p>Oder hast du etwa einen sinnvollen Anwendungsfall?</p>
</blockquote>
<p>Nö, aber darum geht es ja auch nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989351</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Thu, 02 Dec 2010 21:22:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 21:31:51 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Lustig ist, dass VS genug intelligent ist, diesen Fall zu erkennen und keinen Fehler zu verursachen.</p>
</blockquote>
<p>Ja, der VC 6 hat immer noch eine Warnung ausgespuckt, die neueren MS-Compiler sind wirklich verdammt gut <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989360</guid><dc:creator><![CDATA[Vicious Falcon]]></dc:creator><pubDate>Thu, 02 Dec 2010 21:31:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Thu, 02 Dec 2010 21:41:46 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>Aber auch nur, wenn die Ausführung tatsächlich das Ende der Funktion erreicht. In dem Beispiel mag das ja so sein, aber im Allgemeinen ist das gar nicht möglich, das zu erkennen.</p>
</blockquote>
<p>Da sind wir uns völlig einig. Aber ich sagte ja: &quot;Ich hingegen sehe es als Bug an, wenn man in einer Funktion mit Rückgabewert int kein <code>return</code> -Statement haben muss.&quot; Und da hat es ein <code>return</code> . Sobald ein <code>return</code> oder <code>throw</code> in der Funktion vorkommt, kompiliert der Code auch unter VS. Hingegen kann eine Funktion, die <em>immer</em> eine Exception wirft, ruhig <code>void</code> als Rückgabetyp haben.</p>
<p>Falls man doch dem Fall begegnet, in dem man unbedingt einen Rückgabetyp ohne Rückgabewert haben muss, kann man den Fehler immer noch zu einer Warnung umwandeln. Das finde ich um einiges sinnvoller, als in 99% der Fälle Programmfehler kompilieren zu lassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1989365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989365</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 02 Dec 2010 21:41:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Fri, 03 Dec 2010 09:31:16 GMT]]></title><description><![CDATA[<p>Nexus schrieb:</p>
<blockquote>
<p>Aber ich sagte ja: &quot;Ich hingegen sehe es als Bug an, wenn man in einer Funktion mit Rückgabewert int kein <code>return</code> -Statement haben muss.&quot; Und da hat es ein <code>return</code> .</p>
</blockquote>
<p>In einer Verzweigung ja, in der anderen nicht. Wenn dich stört, dass g immer wirft, kannst du das Beispiel beliebig komplizierter machen, z. B. als nächste Stufe</p>
<pre><code class="language-cpp">bool p();  // gibt abwechelnd true und false zurück
void g();
int f() {
  if (p())
    return 0;
  else
    g(); // kein return? ja, aber ... s.u.
}

void g() {
  if(p())
    throw 1;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1989439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989439</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 03 Dec 2010 09:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit der Funktion &amp;quot;tolower&amp;quot; aus ctype.h on Fri, 03 Dec 2010 13:07:42 GMT]]></title><description><![CDATA[<p>Hast du meinen letzten Beitrag noch gesehen? Ich glaube nämlich, da bin ich auf diese Fälle mehr oder weniger eingegangen. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1989517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1989517</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Fri, 03 Dec 2010 13:07:42 GMT</pubDate></item></channel></rss>