<?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[Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin ein C++ Anfänger und habe Probleme beim Aufrufen von Funktionen.<br />
Und zwar geht es um folgendes:</p>
<p>Ich bin dabei das Spiel TicTacToe als Konsolenanwendung nachzubaun, wobei der Spieler beispielsweise Anfängt und danach der Bot am Zug ist. Den Zug des Spielers und des Copmuters habe ich als Funktion definiert und wollte sie jetzt aufrufen, jedoch sagt mir mein Complier, dass die Funktion unbekannt ist.</p>
<p>Ich nehme an der der Complier von oben nach unten alles abarbeitet und daher an der Stelle wo die Funktion aufgerufen wird diese noch nicht kennt, da sie erst noch folgt. (komischer Satz)</p>
<p>Hier ist der Code vom gesamten Programm:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;windows.h&gt;

using namespace std;

char feld[2][2];
bool sieg = false;
int zug = 0;
string eingabe;

int DrawField() {
   system(&quot;cls&quot;);

   cout&lt;&lt;&quot;    A   B   C  \n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;1 | &quot;&lt;&lt;feld[0][0]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][0]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][0]&lt;&lt;&quot; |\n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;2 | &quot;&lt;&lt;feld[0][1]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][1]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][1]&lt;&lt;&quot; |\n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;3 | &quot;&lt;&lt;feld[0][2]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][2]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][2]&lt;&lt;&quot; |\n&quot;;       
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   return 0;
}

int CPU() {
   CPUDoof: 
   int zufall = 0;
   zufall = (rand()%9);
   switch (zufall) {
       case 0: if (feld[0][0] == ' ') {feld[0][0] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 1: if (feld[0][1] == ' ') {feld[0][1] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 2: if (feld[0][2] == ' ') {feld[0][2] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 3: if (feld[1][0] == ' ') {feld[1][0] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 4: if (feld[1][1] == ' ') {feld[1][1] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 5: if (feld[1][2] == ' ') {feld[1][2] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 6: if (feld[2][0] == ' ') {feld[2][0] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 7: if (feld[2][1] == ' ') {feld[2][1] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 8: if (feld[2][2] == ' ') {feld[2][2] = 'o'; Human(); } else { goto CPUDoof;} break;  
   }
}

int Human() {
    retry:
    system(&quot;cls&quot;);
    DrawField();
    cout&lt;&lt;&quot;\nKoordinate: &quot;;
    cin&gt;&gt;eingabe;

    if (eingabe == &quot;A1&quot;) { cout&lt;&lt;&quot;A1&quot;; if (feld[0][0] == ' ') {feld[0][0] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;A2&quot;) { cout&lt;&lt;&quot;A2&quot;; if (feld[0][1] == ' ') {feld[0][1] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;A3&quot;) { cout&lt;&lt;&quot;A3&quot;; if (feld[0][2] == ' ') {feld[0][2] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;B1&quot;) { cout&lt;&lt;&quot;B1&quot;; if (feld[1][0] == ' ') {feld[1][0] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;B2&quot;) { cout&lt;&lt;&quot;B2&quot;; if (feld[1][1] == ' ') {feld[1][1] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;B3&quot;) { cout&lt;&lt;&quot;B3&quot;; if (feld[1][2] == ' ') {feld[1][2] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;C1&quot;) { cout&lt;&lt;&quot;C1&quot;; if (feld[2][0] == ' ') {feld[2][0] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;C2&quot;) { cout&lt;&lt;&quot;C2&quot;; if (feld[2][1] == ' ') {feld[2][1] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;C3&quot;) { cout&lt;&lt;&quot;C3&quot;; if (feld[2][2] == ' ') {feld[2][2] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else {
         cout&lt;&lt;&quot;Fehlerhafte Eingabe!&quot;;
         system(&quot;pause &gt; nul&quot;);
         goto retry;
    }
}

int main(int argc, char *argv[]){
    start:
    SetConsoleTitle(&quot;TicTacToe&quot;);
    system(&quot;cls&quot;);
    int menu = 0;

    cout&lt;&lt;&quot;TicTacToe v0.1\n\n&quot;;
    cout&lt;&lt;&quot;1 - Spiel startem\n&quot;;
    cout&lt;&lt;&quot;2 - Anleitung\n&quot;;
    cout&lt;&lt;&quot;3 - Beenden\n\n&quot;;

    cout&lt;&lt;&quot;Menue: &quot;;
    cin&gt;&gt;menu;

    if (menu == 1) {

       int beginner;
       feld[0][0] = ' ';
       feld[0][1] = ' ';
       feld[0][2] = ' ';
       feld[1][0] = ' ';
       feld[1][1] = ' ';
       feld[1][2] = ' ';
       feld[2][0] = ' ';
       feld[2][1] = ' ';
       feld[2][2] = ' ';   

       DrawField();

       while(sieg) {
           if (zug == 0) {                   
               beginner = rand()%2;
               if (beginner == 1) { Human(); }
               else { CPU(); }
           }

       }       
       system(&quot;pause &gt; nul&quot;);    
    }  
    else if ( menu == 2) {
        system(&quot;cls&quot;);
        cout&lt;&lt;&quot;Anleitung\n\n&quot;;
        cout&lt;&lt;&quot;coming soon ...&quot;;
        system(&quot;pause &gt; nul&quot;);
        goto start;         
    }
    else if ( menu == 3) {
         return 0;

    }    
    else { 
         cout&lt;&lt;&quot;Falsche Eingabe!&quot;;
         system(&quot;pause &gt; nul&quot;);
         goto start;
    }
}
</code></pre>
<p>Achja ich verwende Dev-Cpp als Entwicklungsumgebung. Wenn ich mich nicht alles täuscht damit auch g++ als Complier.</p>
<p>Wär nett wenn mir jemand helfen könnte <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/topic/195873/aufruf-von-quot-unbekannten-quot-funktionen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 30 Sep 2026 05:39:01 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195873.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 22 Oct 2007 20:21:06 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Mon, 22 Oct 2007 20:21:06 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich bin ein C++ Anfänger und habe Probleme beim Aufrufen von Funktionen.<br />
Und zwar geht es um folgendes:</p>
<p>Ich bin dabei das Spiel TicTacToe als Konsolenanwendung nachzubaun, wobei der Spieler beispielsweise Anfängt und danach der Bot am Zug ist. Den Zug des Spielers und des Copmuters habe ich als Funktion definiert und wollte sie jetzt aufrufen, jedoch sagt mir mein Complier, dass die Funktion unbekannt ist.</p>
<p>Ich nehme an der der Complier von oben nach unten alles abarbeitet und daher an der Stelle wo die Funktion aufgerufen wird diese noch nicht kennt, da sie erst noch folgt. (komischer Satz)</p>
<p>Hier ist der Code vom gesamten Programm:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;windows.h&gt;

using namespace std;

char feld[2][2];
bool sieg = false;
int zug = 0;
string eingabe;

int DrawField() {
   system(&quot;cls&quot;);

   cout&lt;&lt;&quot;    A   B   C  \n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;1 | &quot;&lt;&lt;feld[0][0]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][0]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][0]&lt;&lt;&quot; |\n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;2 | &quot;&lt;&lt;feld[0][1]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][1]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][1]&lt;&lt;&quot; |\n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;3 | &quot;&lt;&lt;feld[0][2]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][2]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][2]&lt;&lt;&quot; |\n&quot;;       
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   return 0;
}

int CPU() {
   CPUDoof: 
   int zufall = 0;
   zufall = (rand()%9);
   switch (zufall) {
       case 0: if (feld[0][0] == ' ') {feld[0][0] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 1: if (feld[0][1] == ' ') {feld[0][1] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 2: if (feld[0][2] == ' ') {feld[0][2] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 3: if (feld[1][0] == ' ') {feld[1][0] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 4: if (feld[1][1] == ' ') {feld[1][1] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 5: if (feld[1][2] == ' ') {feld[1][2] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 6: if (feld[2][0] == ' ') {feld[2][0] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 7: if (feld[2][1] == ' ') {feld[2][1] = 'o'; Human(); } else { goto CPUDoof;} break;
       case 8: if (feld[2][2] == ' ') {feld[2][2] = 'o'; Human(); } else { goto CPUDoof;} break;  
   }
}

int Human() {
    retry:
    system(&quot;cls&quot;);
    DrawField();
    cout&lt;&lt;&quot;\nKoordinate: &quot;;
    cin&gt;&gt;eingabe;

    if (eingabe == &quot;A1&quot;) { cout&lt;&lt;&quot;A1&quot;; if (feld[0][0] == ' ') {feld[0][0] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;A2&quot;) { cout&lt;&lt;&quot;A2&quot;; if (feld[0][1] == ' ') {feld[0][1] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;A3&quot;) { cout&lt;&lt;&quot;A3&quot;; if (feld[0][2] == ' ') {feld[0][2] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;B1&quot;) { cout&lt;&lt;&quot;B1&quot;; if (feld[1][0] == ' ') {feld[1][0] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;B2&quot;) { cout&lt;&lt;&quot;B2&quot;; if (feld[1][1] == ' ') {feld[1][1] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;B3&quot;) { cout&lt;&lt;&quot;B3&quot;; if (feld[1][2] == ' ') {feld[1][2] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;C1&quot;) { cout&lt;&lt;&quot;C1&quot;; if (feld[2][0] == ' ') {feld[2][0] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;C2&quot;) { cout&lt;&lt;&quot;C2&quot;; if (feld[2][1] == ' ') {feld[2][1] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else if (eingabe == &quot;C3&quot;) { cout&lt;&lt;&quot;C3&quot;; if (feld[2][2] == ' ') {feld[2][2] = 'x'; CPU(); } else { cout&lt;&lt;&quot;Dieses Feld ist bereits markiert!&quot;; system(&quot;pause &gt; nul&quot;); goto retry;}}
    else {
         cout&lt;&lt;&quot;Fehlerhafte Eingabe!&quot;;
         system(&quot;pause &gt; nul&quot;);
         goto retry;
    }
}

int main(int argc, char *argv[]){
    start:
    SetConsoleTitle(&quot;TicTacToe&quot;);
    system(&quot;cls&quot;);
    int menu = 0;

    cout&lt;&lt;&quot;TicTacToe v0.1\n\n&quot;;
    cout&lt;&lt;&quot;1 - Spiel startem\n&quot;;
    cout&lt;&lt;&quot;2 - Anleitung\n&quot;;
    cout&lt;&lt;&quot;3 - Beenden\n\n&quot;;

    cout&lt;&lt;&quot;Menue: &quot;;
    cin&gt;&gt;menu;

    if (menu == 1) {

       int beginner;
       feld[0][0] = ' ';
       feld[0][1] = ' ';
       feld[0][2] = ' ';
       feld[1][0] = ' ';
       feld[1][1] = ' ';
       feld[1][2] = ' ';
       feld[2][0] = ' ';
       feld[2][1] = ' ';
       feld[2][2] = ' ';   

       DrawField();

       while(sieg) {
           if (zug == 0) {                   
               beginner = rand()%2;
               if (beginner == 1) { Human(); }
               else { CPU(); }
           }

       }       
       system(&quot;pause &gt; nul&quot;);    
    }  
    else if ( menu == 2) {
        system(&quot;cls&quot;);
        cout&lt;&lt;&quot;Anleitung\n\n&quot;;
        cout&lt;&lt;&quot;coming soon ...&quot;;
        system(&quot;pause &gt; nul&quot;);
        goto start;         
    }
    else if ( menu == 3) {
         return 0;

    }    
    else { 
         cout&lt;&lt;&quot;Falsche Eingabe!&quot;;
         system(&quot;pause &gt; nul&quot;);
         goto start;
    }
}
</code></pre>
<p>Achja ich verwende Dev-Cpp als Entwicklungsumgebung. Wenn ich mich nicht alles täuscht damit auch g++ als Complier.</p>
<p>Wär nett wenn mir jemand helfen könnte <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/1390233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390233</guid><dc:creator><![CDATA[Erloeser]]></dc:creator><pubDate>Mon, 22 Oct 2007 20:21:06 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Mon, 22 Oct 2007 20:25:50 GMT]]></title><description><![CDATA[<p><a href="http://www.deutsch-lernen.com/dc-verz_1.htm" rel="nofollow">http://www.deutsch-lernen.com/dc-verz_1.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390236</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390236</guid><dc:creator><![CDATA[ERSTER]]></dc:creator><pubDate>Mon, 22 Oct 2007 20:25:50 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Mon, 22 Oct 2007 20:29:10 GMT]]></title><description><![CDATA[<p><a href="http://www.google.de" rel="nofollow">www.google.de</a></p>
<p>deutsche sprache, schwere sprache</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390238</guid><dc:creator><![CDATA[LERN DEUTSCH!!]]></dc:creator><pubDate>Mon, 22 Oct 2007 20:29:10 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Mon, 22 Oct 2007 21:35:12 GMT]]></title><description><![CDATA[<p>Bin zwar nur Anfänger. Aber habs damit zum laufen bekommen.</p>
<p>Einfach oben hinzufügen:</p>
<pre><code class="language-cpp">...
char feld[2][2];
bool sieg = false;
int zug = 0;
string eingabe;

// Hier das!
int Human();
int DrawField();
int CPU();
...
</code></pre>
<p>Hoffe das Hilft dir, kommen zwar noch Warnings.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390261</guid><dc:creator><![CDATA[isiprimax]]></dc:creator><pubDate>Mon, 22 Oct 2007 21:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 02:02:24 GMT]]></title><description><![CDATA[<p>wenn du funktion A in Funktion B verwenden willst, muss Funktion A bereit vor dem Funktionrumpf B bekannt sein! d.h. entwededer du schreibt alle deine funktionen über der Main-funktion, weil diese ja die Funktionen kennen muss, oder du macht &quot;forward- deklaration&quot; der funktion, also den Funktionsprototyp (ohne rumpf) über das main..</p>
<p>-&gt; Siehe <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/17253">@isiprimax</a></p>
<p>P.S.: deine CPU Funktion würde ich in BOT unbennen;) Und mach dein Bot bischen schlauer;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390281</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390281</guid><dc:creator><![CDATA[BorisDieKlinge]]></dc:creator><pubDate>Tue, 23 Oct 2007 02:02:24 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 05:45:08 GMT]]></title><description><![CDATA[<p>Noch ein paar Anmerkungen:</p>
<ul>
<li><code>char feld[2][2];</code> ist etwas zu klein für ein Tic-Tac-Toe-Feld (die Zahlen dort geben die Größe des Feldes an und nicht den maximalen Index)</li>
<li>anstelle deiner goto-Konstruktionen solltest du ordentliche Schleifen verwenden (ebenso würde ich wechselweise beide Zug-Funktionen aus dem Hauptprogramm heraus aufrufen)</li>
<li>und 9x den selben Code zu schreiben ist auch kein guter Stil - berechne die Ziel-Indizes lieber aus den übergebenen Werten (CPU - <code>zufall/3</code> und <code>zufall%3</code> , Human - <code>eingabe[0]-'A'</code> und <code>eingabe[1]-'1'</code> )</li>
<li>außerdem hast du zwar eine Variable 'sieg', aber niemand prüft nach, ob die Siegbedingungen erfüllt sind (und da die Variable mit false initialisiert wird, kommst du nichtmal in die Spiel-Schleife)</li>
<li>PS: globale Variablen sind böse - und system()-Aufrufe sollte man weitgehend vermeiden</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1390295</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390295</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 23 Oct 2007 05:45:08 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 09:08:51 GMT]]></title><description><![CDATA[<p>Danke erstmal für die Antworten.<br />
Das Problem mit den Aufrufen konnte ich tatsächlich mit Hilfe von isiprimax lösen.<br />
Aber warum ist mein Feld zu klein?<br />
Ich könnte natürlich ein drei Dimensionales Feld mit char feld[2][2][2] initialisieren aber zwei Dimensionen reichen doch auch oder?</p>
<p>Ich habe schließlich für jeden Punkt ein Feld oder?</p>
<pre><code class="language-cpp">cout&lt;&lt;&quot;    A   B   C  \n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;1 | &quot;&lt;&lt;feld[0][0]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][0]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][0]&lt;&lt;&quot; |\n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;2 | &quot;&lt;&lt;feld[0][1]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][1]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][1]&lt;&lt;&quot; |\n&quot;;
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
   cout&lt;&lt;&quot;3 | &quot;&lt;&lt;feld[0][2]&lt;&lt;&quot; | &quot;&lt;&lt;feld[1][2]&lt;&lt;&quot; | &quot;&lt;&lt;feld[2][2]&lt;&lt;&quot; |\n&quot;;       
   cout&lt;&lt;&quot;  +---+---+---+\n&quot;;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1390407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390407</guid><dc:creator><![CDATA[Erloeser]]></dc:creator><pubDate>Tue, 23 Oct 2007 09:08:51 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 09:20:34 GMT]]></title><description><![CDATA[<p>Hab die Frage selber beantworten können ...<br />
Ist ja klar:</p>
<p>Mit feld[2][2] wird ein Array von 0 bis 1 erstellt (2),<br />
richtig ist es aber mit 3 Feldern:<br />
feld[3][3]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390412</guid><dc:creator><![CDATA[Erloeser]]></dc:creator><pubDate>Tue, 23 Oct 2007 09:20:34 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 09:23:54 GMT]]></title><description><![CDATA[<p>Erloeser schrieb:</p>
<blockquote>
<p>Ich könnte natürlich ein drei Dimensionales Feld mit char feld[2][2][2] initialisieren aber zwei Dimensionen reichen doch auch oder?</p>
</blockquote>
<p>Ja, zwei Dimensionen reichen aus - aber bitte mit drei Elementen in jeder Richtung <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/1390414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390414</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 23 Oct 2007 09:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 13:55:03 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Noch ein paar Anmerkungen:</p>
<ul>
<li>PS: globale Variablen sind böse - und system()-Aufrufe sollte man weitgehend vermeiden</li>
</ul>
</blockquote>
<p>Wieso sind globale Variablen böse?</p>
<p>Ps: Auch Anfänger bin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390570</guid><dc:creator><![CDATA[isiprimax]]></dc:creator><pubDate>Tue, 23 Oct 2007 13:55:03 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 14:02:02 GMT]]></title><description><![CDATA[<p>Weil sie global sind <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="😉"
    /> Das bedeutet letztendlich, daß die Werte zusammenhangslos in deinem Programm herumschwirren - und bei größeren Projekten niemand mehr einen Überblick hat, was wohin gehört. In vernünftigen Programmen ist es besser, mit lokalen Variablen zu arbeiten und diese notfalls als Parameter an andere Funktionen weiterzugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390579</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 23 Oct 2007 14:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 15:02:17 GMT]]></title><description><![CDATA[<p>Und wie Realisiere ich dann zb eine Variabele die in allen Teile des Programms haben will.</p>
<p>zb.: char *version = &quot;Bla Bla v 1.0&quot;;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390635</guid><dc:creator><![CDATA[isiprimax]]></dc:creator><pubDate>Tue, 23 Oct 2007 15:02:17 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Tue, 23 Oct 2007 15:11:07 GMT]]></title><description><![CDATA[<p>In einer seperaten Header-Datei kannst du die globalen Variablen definieren:</p>
<p>(bla_globals.hpp)</p>
<pre><code class="language-cpp">#ifndef BLABLA_GLOBALS_HPP
#define BLABLA_GLOBALS_HPP

const char* VERSION = &quot;Bla Bla v 1.0&quot;;

#endif
</code></pre>
<p>und dann in dein Hauptprogramm einbinden und nutzen:</p>
<p>(main.cpp)</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

#include &quot;bla_globals.hpp&quot;

int main(int argc, char** args)
	{
		cout &lt;&lt; &quot;Programm : &quot; &lt;&lt; VERSION &lt;&lt; endl;
		return 0;
	}
</code></pre>
<p>Trotzdem sollte man Globale Variablen sehr sehr sehr sparsam einsetzen. Und ich habe in meiner Anfangszeit (rückblickend) noch nie einen Grund gefunden, diese einzusetzen.</p>
<p>Grüße...</p>
<p>Heiko</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390647</guid><dc:creator><![CDATA[bwbg]]></dc:creator><pubDate>Tue, 23 Oct 2007 15:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Aufruf von &amp;quot;unbekannten&amp;quot; Funktionen on Wed, 24 Oct 2007 05:59:56 GMT]]></title><description><![CDATA[<p>Es gibt wenige Ausnahmen, wo man wirklich eine global verfügbare Variable sinnvoll einsetzen könnte (aus meiner Praxis fällt mir nur das &quot;CWhateverApp theApp;&quot; ein, das einem MFC vorsetzt) - und in den meisten Fällen bist du mit einem Singleton besser beraten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1390940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1390940</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 24 Oct 2007 05:59:56 GMT</pubDate></item></channel></rss>