<?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[Funktion in Funktion]]></title><description><![CDATA[<p>Hallo, ich möchte gerade eine Funktion aus einer Funktion aufrufen und<br />
habe Funktionsdeklaration</p>
<pre><code>14: int Monatstageszählerqumran (int, int)
</code></pre>
<p>und als Funktionsaufruf</p>
<pre><code>107: Monatstageszählerqumran (tzmq);
</code></pre>
<p>und das als Funktinsdefinition geschrieben.</p>
<pre><code>122: int Monatstageszählerqumran (int tzmq, int)
</code></pre>
<p>und er antwortet das</p>
<pre><code>qumran1.cpp:14: error: expected initializer before 'OTHER' token
qumran1.cpp:107: error: expected `;' before 'OTHER' token
qumran1.cpp:107: error: 'Monatstagesz' was not declared in this scope
qumran1.cpp:122: error: expected initializer before 'OTHER' token
</code></pre>
<p>Was bedeutet das?</p>
<p>Danke für die nochmalige Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/261273/funktion-in-funktion</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 13:27:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261273.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 16 Feb 2010 07:31:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 07:31:43 GMT]]></title><description><![CDATA[<p>Hallo, ich möchte gerade eine Funktion aus einer Funktion aufrufen und<br />
habe Funktionsdeklaration</p>
<pre><code>14: int Monatstageszählerqumran (int, int)
</code></pre>
<p>und als Funktionsaufruf</p>
<pre><code>107: Monatstageszählerqumran (tzmq);
</code></pre>
<p>und das als Funktinsdefinition geschrieben.</p>
<pre><code>122: int Monatstageszählerqumran (int tzmq, int)
</code></pre>
<p>und er antwortet das</p>
<pre><code>qumran1.cpp:14: error: expected initializer before 'OTHER' token
qumran1.cpp:107: error: expected `;' before 'OTHER' token
qumran1.cpp:107: error: 'Monatstagesz' was not declared in this scope
qumran1.cpp:122: error: expected initializer before 'OTHER' token
</code></pre>
<p>Was bedeutet das?</p>
<p>Danke für die nochmalige Hilfe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856348</guid><dc:creator><![CDATA[Bekell]]></dc:creator><pubDate>Tue, 16 Feb 2010 07:31:43 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 07:36:59 GMT]]></title><description><![CDATA[<p>Du hast ein ungültiges Zeichen (ä) im Funktionsnamen. Bezeichner dürfen nur aus a-z, A-Z, 0-9 und _ bestehen und dürfen nicht mit einer Ziffer anfangen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856350</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 16 Feb 2010 07:36:59 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 07:39:09 GMT]]></title><description><![CDATA[<p>Hi.</p>
<p>1. Ich glaube du solltest keine Umlaute benutzen, damit kommt der compiler nicht klar deswegen sagt er Monatsz, also ab ä lässt er alles weg. ersetze das mal mit ae.</p>
<p>2. Musst du deiner Funktion zwei parameter übergeben, wenn du in der Deklaration auch 2 übergabeparameter mit int, int in der Funktion hast.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856351</guid><dc:creator><![CDATA[Converter19]]></dc:creator><pubDate>Tue, 16 Feb 2010 07:39:09 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 08:02:04 GMT]]></title><description><![CDATA[<p>...und in der Funktionsdefinition musst du für beide Parameter auch Bezeichner vergeben. Wie sollst du sie sonst ansprechen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856356</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 16 Feb 2010 08:02:04 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 10:34:02 GMT]]></title><description><![CDATA[<p>Hallo Freunde, jetzt sieht es so aus:<br />
1. Deklaration</p>
<pre><code>int MonatstageszaehlerQ (int, int); //zaehlt bis 30/31
</code></pre>
<p>2. Aufruf</p>
<pre><code>MonatstageszaehlerQ (tzmq, mq);
</code></pre>
<p>3. Definition</p>
<pre><code>int MonatstageszaehlerQ (int tzmq, int mq) 
{
if (((mq%3==1||2)&amp;&amp;tzmq&lt;30)||(mq%3==0&amp;&amp;tzmq&lt;31))
			{
			tzmq=tzmq+1; // Hier zählt er die Tage eines Qumranmonats
			}
		else if(tzmq==30&amp;&amp;mq&amp;3==1||2)
			{
			mq=mq+1; // Hier zählt er die Qumranmonate
			tzmq=1;
			}
		else if(tzmq==31&amp;&amp;mq%3==0)
			{
			mq=mq+1; // Hier zählt er die Qumranmonate
			tzmq=1;
			}

return(tzmq, mq)
;}
</code></pre>
<p>Die Funktion hab ich extra ausserhalb getestet, sie funktioniert.<br />
Es werden keine Fehlermeldungen ausgegeben!<br />
Nur die Werte &quot;tzmq&quot; und &quot;mq&quot; werden nicht zurückgegeben.<br />
<strong>Die Funktion wird übrigens aus einer anderen Funktion heraus aufgerufen.</strong><br />
Was tun?<br />
Kann mir jemand sagen, warum ganz unten vor die Klammer noch das Semikolon muß? Der Rechner wollte es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856416</guid><dc:creator><![CDATA[Bekell]]></dc:creator><pubDate>Tue, 16 Feb 2010 10:34:02 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 10:39:24 GMT]]></title><description><![CDATA[<p>Bekell schrieb:</p>
<blockquote>
<p>Kann mir jemand sagen, warum ganz unten vor die Klammer noch das Semikolon muß? Der Rechner wollte es.</p>
</blockquote>
<p>Das Semikolon muss nicht vor die Klammer, sondern genauergesagt eigentlich hinter das return-Statement. Du musst jede Anweisung mit einem Semikolon abschließen, auch return.</p>
<p>EDIT: Und du kannst per return nicht mehrere Werte zurückgeben. Wenn du das brauchst, musst andere Wege gehen, z.B. call-by-reference Parameter (Zeiger, Referenz) oder sowas wie std::pair (um genau 2 Werte zurückzugeben), oder ein struct...</p>
<p>EDIT2: Und sowas hier</p>
<blockquote>
<pre><code class="language-cpp">mq%3==1||2
</code></pre>
</blockquote>
<p>geht nicht. Du kannst solche Abfragen nicht zusammenfassen, sondern musst folgendermaßen notieren:</p>
<pre><code class="language-cpp">mq%3==1 || mq%3==2
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1856418</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856418</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 16 Feb 2010 10:39:24 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 10:38:35 GMT]]></title><description><![CDATA[<p>Die Deklaration hab ich daraufhin geändert.</p>
<p>1</p>
<pre><code>int MonatstageszaehlerQ (int tzmq, int mq); //zaehlt bis 30/31
</code></pre>
<p>Es passiert trotzdem keine Übergabe....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856425</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856425</guid><dc:creator><![CDATA[Bekell]]></dc:creator><pubDate>Tue, 16 Feb 2010 10:38:35 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 10:40:13 GMT]]></title><description><![CDATA[<p><a href="http://tutorial.schornboeck.net/inhalt.htm" rel="nofollow">Tutorial 1</a><br />
<a href="http://www.tutorialpage.de/Cpp2/index.php?ziel=http://www.tutorialpage.de/Cpp2/main.php" rel="nofollow">Tutorial 2</a><br />
<a href="http://www.mathematik.uni-marburg.de/~cpp/" rel="nofollow">Tutorial 3</a></p>
<p>Das beantwortet alles, was du bisher gefragt hast und vermutlich auch alle anderen Fragen, die du uns sonst in den nächsten zwei Wochen stellen würdest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856426</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 16 Feb 2010 10:40:13 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 10:40:15 GMT]]></title><description><![CDATA[<p>Danke, dann muß ich umdenken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856430</guid><dc:creator><![CDATA[Bekell]]></dc:creator><pubDate>Tue, 16 Feb 2010 10:40:15 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 10:43:53 GMT]]></title><description><![CDATA[<p>Bekell schrieb:</p>
<blockquote>
<p>Die Deklaration hab ich daraufhin geändert.</p>
<p>1</p>
<pre><code>int MonatstageszaehlerQ (int tzmq, int mq); //zaehlt bis 30/31
</code></pre>
<p>Es passiert trotzdem keine Übergabe....</p>
</blockquote>
<p>Wie meinst du das? Wenn du die Funktion aufrufst, sind 2 int-Parameter zwingend erforderlich, und die werden ganz sicher auch übergeben, darauf würde ich einen mittelhohen Geldbetrag setzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856434</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Tue, 16 Feb 2010 10:43:53 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 10:59:23 GMT]]></title><description><![CDATA[<p>Genau mit dem ersten Tutorial arbeite ich.</p>
<p>Es beantwortet aber nicht die Frage, ob ein Funktion in ihrem Rückgabewert, diesen nur in die Funktion zurückgibt, aus der sie heraus aufgerufen worden ist, oder ob sie den returnWert nach Main zurückgibt und alle Funktionen verfügbar macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856443</guid><dc:creator><![CDATA[Bekell]]></dc:creator><pubDate>Tue, 16 Feb 2010 10:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 11:15:28 GMT]]></title><description><![CDATA[<p>Das hängt davon ab, wie du mit dem Rückgabewert umgehst.</p>
<pre><code class="language-cpp">int func()
{
   return 7;
}

int gunc( int param )
{
   return 2 * param;
}

// globale Variable
int global_int;

int main()
{
   // Szenario 1: Rückgabewert wird ignoriert und geht verloren
   func();

   // Szenario 2: Rückgabewert wird in lokaler Variable abgelegt
   int local_int = func(); 

   // Szenario 3: Rückgabewert wird in globaler Variable abgelegt
   global_int = func();

   // Szenario 4: Rückgabewert wird als Parameter benutzt
   //             Der Rückgabewert von gunc() kann wieder wie in Szenario 1-3 behandelt werden
   gunc( func() );
}
</code></pre>
<p>Anhängig davon, ob und wo du den Rückgabewert der Funktion ablegst steht er dir in verschiedenen Programmteilen zur Verfügung (oder auch nicht).<br />
Grundsätzlich sind Rückgabewerte von Funktionen nur durch direkte Zuweisung an Variablen speicherbar, wenn du den Rückgabewert nicht auswertest geht er verloren. Wo der Rückgabewert schliesslich zur Verfügung steht hängt vom (Ohgott... wie heisst scope denn wohl auf deutsch?) Gültigkeitsbereich der verwendeten Variable ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856453</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856453</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 16 Feb 2010 11:15:28 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 11:29:08 GMT]]></title><description><![CDATA[<p>Bekell schrieb:</p>
<blockquote>
<pre><code>return(tzmq, mq)
</code></pre>
</blockquote>
<p>Was ist das denn? Kein Wunder das du keinen Wert kriegst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856467</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Tue, 16 Feb 2010 11:29:08 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 13:03:41 GMT]]></title><description><![CDATA[<p>Ich glaube er möchte, dass die Werte in main() ebenfalls verändert werden.</p>
<p>Falls dies der Fall ist, musst du deine Parameter als Referenzen übergeben:</p>
<pre><code class="language-cpp">void myFunction(int&amp; bla, int&amp; bla2);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1856534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856534</guid><dc:creator><![CDATA[Samyboy]]></dc:creator><pubDate>Tue, 16 Feb 2010 13:03:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Wed, 17 Feb 2010 10:59:23 GMT]]></title><description><![CDATA[<p>Genauso hab ichs geschrieben</p>
<p>[code]void MonatstageszaehlerQ (int tzmq)[quote]</p>
<p>aber es funktinoert nicht die Weitergabe.</p>
<p>ich bin am suchen, wie genau man eine globale oder lokale Variable deklariert und definiert.</p>
<p>Ich brauche jedenfalls zwei variablen, die ich in jeweils zwei Funktionen nutzen kann. Kann eigentlich nicht so schwer sein.<br />
Soll der Unterstrich &quot;_&quot; die Deklaration der glob. Var. sein? oder das das: &quot;_int&quot; ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856548</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856548</guid><dc:creator><![CDATA[Bekell]]></dc:creator><pubDate>Wed, 17 Feb 2010 10:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 13:28:53 GMT]]></title><description><![CDATA[<p>Bekell schrieb:</p>
<blockquote>
<p>Genauso hab ichs geschrieben</p>
</blockquote>
<p>Nein, hast du nicht (Vergleich nochmal).</p>
<p>Und wenn du endlich mal den Thread wirklich lesen würdest, die Ratschläge und Links nachschaust, würdest du auch weiter kommen. Hilfe für jemanden, der nicht an Hilfe (solange sie nicht komplett vorgekaut wird - und selbst das scheint ja nichts zu bringen) interessiert ist, ist reine Zeitverschwendung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856558</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Tue, 16 Feb 2010 13:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion in Funktion on Tue, 16 Feb 2010 13:45:09 GMT]]></title><description><![CDATA[<p>Bekell schrieb:</p>
<blockquote>
<p>Genauso hab ichs geschrieben</p>
<p>void MonatstageszaehlerQ (int tzmq)</p>
<p>aber es funktinoert nicht die Weitergabe.</p>
<p>ich bin am suchen, wie genau man eine globale oder lokale Variable deklariert und definiert.</p>
<p>Ich brauche jedenfalls zwei variablen, die ich in jeweils zwei Funktionen nutzen kann. Kann eigentlich nicht so schwer sein.<br />
Soll der Unterstrich &quot;_&quot; die Deklaration der glob. Var. sein? oder das das: &quot;_int&quot; ?</p>
</blockquote>
<p>DocShoe schrieb:</p>
<blockquote>
<p><a href="http://tutorial.schornboeck.net/inhalt.htm" rel="nofollow">Tutorial 1</a><br />
<a href="http://www.tutorialpage.de/Cpp2/index.php?ziel=http://www.tutorialpage.de/Cpp2/main.php" rel="nofollow">Tutorial 2</a><br />
<a href="http://www.mathematik.uni-marburg.de/~cpp/" rel="nofollow">Tutorial 3</a></p>
</blockquote>
<p>Mal Klartext:<br />
Dir fehlt soviel Basiswissen, dass es keinen Sinn macht dir helfen zu wollen. Du wirst dein Programm irgendwann zum Laufen bringen und es wird funktionieren, aber nicht weil du es programmiert hast, sondern weil du solange Codeschnipsel aus dem Forum zusammengetragen hast, bis alles klappt.<br />
Deine Aufgabe ist leichter als trivial, aber ohne die elementarsten C++ Kenntnisse wirst du´s nicht schaffen sie zu lösen. Und bevor du weiter wie ein Affe auf die Schreibmaschine hämmerst setz´ dich doch erst einmal hin und arbeite die Tutorials durch. Der Hinweis kam schon heute morgen, und jetzt postest du wieder irgendwelche Probleme, die deutlich zeigen, dass du entweder kein Blick in die Tutorials geworfen hast oder sie nicht verstehst. Nimm dir mal zwei, drei Tage Zeit und gehe die Tutorials durch, programmier' die Beispiele nach und löse ggf. Übungsaufgaben am Ende jedes Kapitels (wenn es welche gibt, so weit habe ich mir die Tutorials nicht angesehen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1856569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1856569</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 16 Feb 2010 13:45:09 GMT</pubDate></item></channel></rss>