<?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[Fehler im Tutorial O_o ?]]></title><description><![CDATA[<p>Hallo ich wollte gerade diesen Source Code compilieren:</p>
<pre><code class="language-cpp">void PrintHeader (int pageNum);

int main ( )
{
    int pNum = 1;        // pNum initialisieren
    PrintHeader(pNum);   // Funktion aufrufen
                         // pNum ist hier immer noch 1!
    PrintHeader(10);     // fixe Seitennummer
}
// Funktionsdefinition
void PrintHeader(int pageNum)
{
   cout &lt;&lt; &quot;Seiten-Nummer: &quot; &lt;&lt; pNum &lt;&lt; endl;
   pageNum = 99;         // Parameter verändern
}
</code></pre>
<p>aber da kommt folgende Fehlermeldung: Undefiniertes Symbol pNum</p>
<p>dann habe ich es mal so gemacht:</p>
<pre><code class="language-cpp">void PrintHeader (int pageNum);

int main ( )
{
    int pNum = 1;        // pNum initialisieren
    PrintHeader(pNum);   // Funktion aufrufen
                     // pNum ist hier immer noch 1!
    PrintHeader(10);     // fixe Seitennummer
}
// Funktionsdefinition
void PrintHeader(int pageNum)
{
        int pNum;
   cout &lt;&lt; &quot;Seiten-Nummer: &quot; &lt;&lt; pNum &lt;&lt; endl;
   pageNum = 99;         // Parameter verändern
}
</code></pre>
<p>dann ging es aber wo ist denn da der Sinn bei dem Programm O_o</p>
<p>Irgendwie versteh ich net was der da in dem Tutorial meint also der Schreibt folgendes:</p>
<p>Bei einem Parameter vom Typ called-by-value erhält die aufgerufene Funktion nur eine Kopie des übergebenen Wertes. Daraus folgt, dass Änderung des Parameters zwar innerhalb der Funktion erlaubt sind, diese aber auch nur auf die Kopie des Ausgangswertes wirken. Wird die Funktion wieder verlassen, so hat sich am Wert des übergebenen Parameters nichts verändert. Die Definition eines called-by-value Parameters erfolgt in der Art, dass innerhalb der Parameterklammer der Funktion lediglich der Datentyp und Name des entsprechenden Parameters angegeben wird. Im Beispiel wird am Ende der Funktion der Wert des Parameters pageNum zwar immer auf 99 gesetzt, jedoch wirkt sich dies nicht weiter in main(...) aus.</p>
<p>Beim Aufruf von Funktion können Sie für einen called-by-value Parameter entweder eine Variable (erster Aufruf oben) oder aber eine Konstante (zweiter Aufruf oben) an die Funktion übergeben. Da die Funktion eine Kopie des Wertes erhält, kann es bei dieser Parameterart unter Umständen notwendig sein, sehr viele Daten zu kopieren. Dies gilt insbesondere dann, wenn die Funktion Objekte als Parameter erhält. Sie sollten diese Parameterart nach Möglichkeit auf die einfachen, bereits bekannten Datentypen wie int oder unsigned long beschränken.</p>
<p>kann mir wer vielleicht erklären was der da jetzt genau meint.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/197842/fehler-im-tutorial-o_o</link><generator>RSS for Node</generator><lastBuildDate>Thu, 01 Oct 2026 13:41:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/197842.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 15 Nov 2007 12:28:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:31:59 GMT]]></title><description><![CDATA[<p>Hallo ich wollte gerade diesen Source Code compilieren:</p>
<pre><code class="language-cpp">void PrintHeader (int pageNum);

int main ( )
{
    int pNum = 1;        // pNum initialisieren
    PrintHeader(pNum);   // Funktion aufrufen
                         // pNum ist hier immer noch 1!
    PrintHeader(10);     // fixe Seitennummer
}
// Funktionsdefinition
void PrintHeader(int pageNum)
{
   cout &lt;&lt; &quot;Seiten-Nummer: &quot; &lt;&lt; pNum &lt;&lt; endl;
   pageNum = 99;         // Parameter verändern
}
</code></pre>
<p>aber da kommt folgende Fehlermeldung: Undefiniertes Symbol pNum</p>
<p>dann habe ich es mal so gemacht:</p>
<pre><code class="language-cpp">void PrintHeader (int pageNum);

int main ( )
{
    int pNum = 1;        // pNum initialisieren
    PrintHeader(pNum);   // Funktion aufrufen
                     // pNum ist hier immer noch 1!
    PrintHeader(10);     // fixe Seitennummer
}
// Funktionsdefinition
void PrintHeader(int pageNum)
{
        int pNum;
   cout &lt;&lt; &quot;Seiten-Nummer: &quot; &lt;&lt; pNum &lt;&lt; endl;
   pageNum = 99;         // Parameter verändern
}
</code></pre>
<p>dann ging es aber wo ist denn da der Sinn bei dem Programm O_o</p>
<p>Irgendwie versteh ich net was der da in dem Tutorial meint also der Schreibt folgendes:</p>
<p>Bei einem Parameter vom Typ called-by-value erhält die aufgerufene Funktion nur eine Kopie des übergebenen Wertes. Daraus folgt, dass Änderung des Parameters zwar innerhalb der Funktion erlaubt sind, diese aber auch nur auf die Kopie des Ausgangswertes wirken. Wird die Funktion wieder verlassen, so hat sich am Wert des übergebenen Parameters nichts verändert. Die Definition eines called-by-value Parameters erfolgt in der Art, dass innerhalb der Parameterklammer der Funktion lediglich der Datentyp und Name des entsprechenden Parameters angegeben wird. Im Beispiel wird am Ende der Funktion der Wert des Parameters pageNum zwar immer auf 99 gesetzt, jedoch wirkt sich dies nicht weiter in main(...) aus.</p>
<p>Beim Aufruf von Funktion können Sie für einen called-by-value Parameter entweder eine Variable (erster Aufruf oben) oder aber eine Konstante (zweiter Aufruf oben) an die Funktion übergeben. Da die Funktion eine Kopie des Wertes erhält, kann es bei dieser Parameterart unter Umständen notwendig sein, sehr viele Daten zu kopieren. Dies gilt insbesondere dann, wenn die Funktion Objekte als Parameter erhält. Sie sollten diese Parameterart nach Möglichkeit auf die einfachen, bereits bekannten Datentypen wie int oder unsigned long beschränken.</p>
<p>kann mir wer vielleicht erklären was der da jetzt genau meint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403594</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:31:59 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:33:04 GMT]]></title><description><![CDATA[<p>In Zeile 13 muss einfach nur pageNum statt pNum stehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403602</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:33:04 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:34:14 GMT]]></title><description><![CDATA[<p>ok thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403605</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:34:14 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:41:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void PrintHeader (int pageNum); 

int main ( ) 
{ 
    int pNum = 1;        // pNum initialisieren 
    PrintHeader(pNum);   // Funktion aufrufen 
                     // pNum ist hier immer noch 1! 
    PrintHeader(10);     // fixe Seitennummer 
} 
// Funktionsdefinition 
void PrintHeader(int pageNum) 
{ 
        int pageNum; 
   cout &lt;&lt; &quot;Seiten-Nummer: &quot; &lt;&lt; pNum &lt;&lt; endl; 
   pageNum = 99;         // Parameter verändern 
}
</code></pre>
<p>das kam da raus .... <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>
<p>[C++ Fehler] Unit1.cpp(16): E2238 Bezeichner 'pageNum' mehrfach deklariert<br />
[C++ Fehler] Unit1.cpp(17): E2451 Undefiniertes Symbol 'pNum'<br />
[C++ Warnung] Unit1.cpp(19): W8004 'pageNum' wurde ein Wert zugewiesen, der nie verwendet wird</p>
<p>und was ist eigentlich hier mit gemeint:</p>
<pre><code class="language-cpp">PrintHeader(10);   // fixe Seitennummer
</code></pre>
<p>was heisst fixe Seitennumer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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/1403610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403610</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:41:52 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:42:26 GMT]]></title><description><![CDATA[<p>Hi,<br />
in der intalisierungliste von der Funktion PrintHeader wird pNum ja schon deklariert, das heißt sie ist in der Funktion bereits vorhanden und kann nicht nochmal erzeugt werden.<br />
D.h du musst &quot;int pageNum;&quot; aus der zweiten Funktion entfernen.</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403612</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:42:26 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:46:15 GMT]]></title><description><![CDATA[<p>Bassmaster schrieb:</p>
<blockquote>
<p>das kam da raus .... <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>Zeile 13 im ursprünglichen Code. Deine Änderung war sowieso Käse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403613</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:46:15 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:47:04 GMT]]></title><description><![CDATA[<p>So ?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

void PrintHeader (int pageNum);

int main ( ) 
{ 
    int pNum = 1;        // pNum initialisieren
    PrintHeader(pNum);   // Funktion aufrufen 
                     // pNum ist hier immer noch 1! 
    PrintHeader(10);     // fixe Seitennummer 
} 
// Funktionsdefinition 
void PrintHeader()
{ 
        int pageNum;
   cout &lt;&lt; &quot;Seiten-Nummer: &quot; &lt;&lt; pNum &lt;&lt; endl;
   pageNum = 99;         // Parameter verändern 
}
</code></pre>
<p>da kommt bei mir diese fehlermeldung:</p>
<p>[C++ Fehler] Unit1.cpp(17): E2451 Undefiniertes Symbol 'pNum'<br />
[C++ Warnung] Unit1.cpp(19): W8004 'pageNum' wurde ein Wert zugewiesen, der nie verwendet wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403615</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:47:04 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:49:05 GMT]]></title><description><![CDATA[<p>ah jetzt geht es <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>thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403616</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403616</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:49:05 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:51:00 GMT]]></title><description><![CDATA[<p>aber wofür ist den jetzt:</p>
<pre><code class="language-cpp">pageNum = 1;         // Parameter verändern
</code></pre>
<p>in dem Kommentar steht ja Parameter verändern aber wenn ich da was veränder passiert gar nichts auch wenn ich es rausnehme funktioniert alles.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403619</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:51:00 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:55:11 GMT]]></title><description><![CDATA[<p>Das soll dir vermutlich zeigen, was C++ unter &quot;call by value&quot; versteht - du veränderst zwar lokal den Wert von pageNum (wenn du nach dieser Zeile noch eine Ausgabe machst, siehst du auch den veränderten Wert), aber das hat keine Auswirkung auf die übergebene Variable.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403624</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:55:11 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 12:58:39 GMT]]></title><description><![CDATA[<p>ok thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403629</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 12:58:39 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 13:19:05 GMT]]></title><description><![CDATA[<p>warum kann der denn die Zahlen nicht aus geben wenn ich</p>
<pre><code class="language-cpp">&lt;&lt; pageNum &lt;&lt; endl;
</code></pre>
<p>weglasse</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403642</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 13:19:05 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 13:20:49 GMT]]></title><description><![CDATA[<p>Weil das genau das die Ausgabe ist? Wenn du die Ausgabe weglässt, passiert natürlich keine Ausgabe mehr.</p>
<p>Wenn das nicht das ist, was du meintest, dann drück dich doch bitte mal etwas klarer aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403643</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Thu, 15 Nov 2007 13:20:49 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 13:21:06 GMT]]></title><description><![CDATA[<p>Weil genau der Teil der Zeile dem Compiler klarmacht, daß du die Zahl (und einen Zeilenwechsel) ausgeben willst - wenn du das weglässt, gibst du nur den Text &quot;Seiten-Nummer:&quot; aus. (und wenn das Semikolon fehlt, beschwert sich der Compiler (zu recht))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1403644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403644</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 15 Nov 2007 13:21:06 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 13:26:51 GMT]]></title><description><![CDATA[<p>ok ich glaub jetzt hab is verstanden thx <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1403649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403649</guid><dc:creator><![CDATA[Bassmaster]]></dc:creator><pubDate>Thu, 15 Nov 2007 13:26:51 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler im Tutorial O_o ? on Thu, 15 Nov 2007 14:39:45 GMT]]></title><description><![CDATA[<ul>
<li></li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1403704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1403704</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 15 Nov 2007 14:39:45 GMT</pubDate></item></channel></rss>