<?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[class.method has not been declared]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin ziemlicher C++-Noob und komm bei folgendem Problem nicht weiter.<br />
Ich hab diese Klasse:</p>
<pre><code class="language-cpp">class turm
{
    int *pturm;         				  // Zeiger auf turm-Objekt
    int index;           				  // turmindex, oberste Scheibe
    int hoehe;               			// turmgrösse

  public:
    bool push(const int val);     // Schreibe auf Turm ablegen
    int poppen();                    // Scheibe vom turm holen
    void druck(void);             // Methode zur Ausgabe des Turms
    turm(int s=4);                // Konstruktor, Standard-Turmgrösse 4
    ~turm();                      // Destruktor (Speicher freigeben)
};
</code></pre>
<p>Die Methode pop habe ich wie folgt implementiert:</p>
<pre><code class="language-cpp">int turm::pop()
{
    int retval = 0;               // Fehlerrückgabe, falls Turm leer
    if (index&gt;0)                  // prüft ob Turm voll ist
    {
        index--;                 	// Index verringern
        retval = pturm[index];  	// Scheibengröße zurückgeben
    }
    return retval;						    // Ergebnis zurück geben
}
</code></pre>
<p>Ich möchte diese Methode jetzt aufrufen:</p>
<pre><code class="language-cpp">void schiebe_scheibe(turm *start, turm *ziel)
{
  int i;

  i=start.pop();   
}
</code></pre>
<p>Der Compiler gibt mir dabei folgenden Fehler:<br />
main.cpp `pop' has not been declared</p>
<p>Kann mir jemand nen Hinweis geben bitte? <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/297970/class-method-has-not-been-declared</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 03:14:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297970.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jan 2012 21:12:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to class.method has not been declared on Tue, 10 Jan 2012 21:12:58 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin ziemlicher C++-Noob und komm bei folgendem Problem nicht weiter.<br />
Ich hab diese Klasse:</p>
<pre><code class="language-cpp">class turm
{
    int *pturm;         				  // Zeiger auf turm-Objekt
    int index;           				  // turmindex, oberste Scheibe
    int hoehe;               			// turmgrösse

  public:
    bool push(const int val);     // Schreibe auf Turm ablegen
    int poppen();                    // Scheibe vom turm holen
    void druck(void);             // Methode zur Ausgabe des Turms
    turm(int s=4);                // Konstruktor, Standard-Turmgrösse 4
    ~turm();                      // Destruktor (Speicher freigeben)
};
</code></pre>
<p>Die Methode pop habe ich wie folgt implementiert:</p>
<pre><code class="language-cpp">int turm::pop()
{
    int retval = 0;               // Fehlerrückgabe, falls Turm leer
    if (index&gt;0)                  // prüft ob Turm voll ist
    {
        index--;                 	// Index verringern
        retval = pturm[index];  	// Scheibengröße zurückgeben
    }
    return retval;						    // Ergebnis zurück geben
}
</code></pre>
<p>Ich möchte diese Methode jetzt aufrufen:</p>
<pre><code class="language-cpp">void schiebe_scheibe(turm *start, turm *ziel)
{
  int i;

  i=start.pop();   
}
</code></pre>
<p>Der Compiler gibt mir dabei folgenden Fehler:<br />
main.cpp `pop' has not been declared</p>
<p>Kann mir jemand nen Hinweis geben bitte? <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/2166543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166543</guid><dc:creator><![CDATA[Mephi]]></dc:creator><pubDate>Tue, 10 Jan 2012 21:12:58 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Tue, 10 Jan 2012 21:14:49 GMT]]></title><description><![CDATA[<p>Du hast deine Methode poppen genannt. Warst wohl gerade mit anderen Gedanken beschäftigt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166544</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 10 Jan 2012 21:14:49 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Tue, 10 Jan 2012 21:31:50 GMT]]></title><description><![CDATA[<p>314159265358979 schrieb:</p>
<blockquote>
<p>Du hast deine Methode poppen genannt. Warst wohl gerade mit anderen Gedanken beschäftigt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Ich frag mich sowieso, was ihr hier eigentlich mit dieser komischen C++ Sprache macht, ständig geht um so Sachen wie string, remove, insert, pop_back, pop_front und was mit resize gemeint ist... <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="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166550</guid><dc:creator><![CDATA[6experte]]></dc:creator><pubDate>Tue, 10 Jan 2012 21:31:50 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 15:15:07 GMT]]></title><description><![CDATA[<p>6experte schrieb:</p>
<blockquote>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Du hast deine Methode poppen genannt. Warst wohl gerade mit anderen Gedanken beschäftigt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Ich frag mich sowieso, was ihr hier eigentlich mit dieser komischen C++ Sprache macht, ständig geht um so Sachen wie string, remove, insert, pop_back, pop_front und was mit resize gemeint ist... <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="😮"
    /></p>
</blockquote>
<p>Edit: sry! Hab ich nich' verstanden.</p>
<p>@Mephi:<br />
Du hast in deiner Klassendefinition eine Methode poppen deklariert, allerdings eine scheinbar existierende Methode pop außerhalb der Klasse definiert. 'S passt n'türlich nicht zusammen. 'void' ist bei Funktionen ohne Übergabeparameter zwischen den Klammern übrigens unnötig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166605</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 11 Jan 2012 15:15:07 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 09:52:52 GMT]]></title><description><![CDATA[<p>@OP: Ist das jetzt ein Scherz (Deklaration von poppen &lt;-&gt; Definition von pop) oder gibt es wirklich noch ein Problem?</p>
<p>Willst Du absichtlich einen &quot;Stapel&quot; selbst stricken oder hast Du nur <a href="http://www.cplusplus.com/reference/stl/stack/" rel="nofollow">std::stack</a> übersehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166640</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 11 Jan 2012 09:52:52 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 10:02:35 GMT]]></title><description><![CDATA[<p>6experte schrieb:</p>
<blockquote>
<p>und was mit resize gemeint ist... <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="😮"
    /></p>
</blockquote>
<p>Das nutzen wir ja auch seltener, manuelle Manipulationen sind oft die falsche Lösung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166643</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166643</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 11 Jan 2012 10:02:35 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 11:03:24 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>6experte schrieb:</p>
<blockquote>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Du hast deine Methode poppen genannt. Warst wohl gerade mit anderen Gedanken beschäftigt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Ich frag mich sowieso, was ihr hier eigentlich mit dieser komischen C++ Sprache macht, ständig geht um so Sachen wie string, remove, insert, pop_back, pop_front und was mit resize gemeint ist... <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="😮"
    /></p>
</blockquote>
<p>Wenn du kein Englisch kannst, dann geh lieber weg, man. Das wird noch peinlich.</p>
</blockquote>
<p>Wenn du nicht mal ein minimales Gespür für Sarkasmus hast, dann geh lieber weg, man. Das wird noch peinlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166680</guid><dc:creator><![CDATA[Ethon]]></dc:creator><pubDate>Wed, 11 Jan 2012 11:03:24 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 11:12:36 GMT]]></title><description><![CDATA[<p>Selbst nachdem das mit dem poppen und pop geklärt ist, muss es so sein:</p>
<pre><code class="language-cpp">void schiebe_scheibe(turm *start, turm *ziel)
{
  int i;

  i=start-&gt;pop();   
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2166685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166685</guid><dc:creator><![CDATA[bmario]]></dc:creator><pubDate>Wed, 11 Jan 2012 11:12:36 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 15:13:30 GMT]]></title><description><![CDATA[<p>Ethon schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>6experte schrieb:</p>
<blockquote>
<p>314159265358979 schrieb:</p>
<blockquote>
<p>Du hast deine Methode poppen genannt. Warst wohl gerade mit anderen Gedanken beschäftigt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>Ich frag mich sowieso, was ihr hier eigentlich mit dieser komischen C++ Sprache macht, ständig geht um so Sachen wie string, remove, insert, pop_back, pop_front und was mit resize gemeint ist... <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="😮"
    /></p>
</blockquote>
<p>Wenn du kein Englisch kannst, dann geh lieber weg, man. Das wird noch peinlich.</p>
</blockquote>
<p>Wenn du nicht mal ein minimales Gespür für Sarkasmus hast, dann geh lieber weg, man. Das wird noch peinlich.</p>
</blockquote>
<p>Nein, ich hab erst jetzt gemerkt, dass der TE nicht 6experte ist... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2166820</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166820</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 11 Jan 2012 15:13:30 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 18:28:08 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich freu mich, dass es hier so viele Antworten gibt. Das mit dem poppen() ... naja meine Freundin meinte ich sollte die Funktion einfach mal umbenennen und guckn ob sich die Fehlermeldung ändert ... fand ich naheliegend. <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>
<p>Die Lösung war wirklich start-&gt;pop().</p>
<p>DAnke für eure Hilfe, es ist so kacke wenn man keine Ahnung von ner Sprache hat, aber ich lern das schon noch. <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/2166932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2166932</guid><dc:creator><![CDATA[Mephi]]></dc:creator><pubDate>Wed, 11 Jan 2012 18:28:08 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Wed, 11 Jan 2012 22:07:21 GMT]]></title><description><![CDATA[<p>Leider funktioniert der Mist immer noch nicht ...</p>
<pre><code class="language-cpp">bool turm::push(int val)
{
    bool retval = false;          // Fehlerrückgabe, falls Turm voll
    cout &lt;&lt; &quot;Hoehe: &quot; &lt;&lt; hoehe &lt;&lt; &quot;\nIndex: &quot; &lt;&lt; index &lt;&lt; endl;
    if (index &lt; hoehe)            // prüft ob Turm voll ist
    {
        pturm[index] = val;  			// neue Scheibe auf Turm legen
        cout &lt;&lt; &quot;pturm[index]= &quot;&lt;&lt;pturm[index]&lt;&lt;endl;
        index++;                  // Index erhöhen
        retval = true;            // Aktion erfolgreich
    }
    return retval;						    // Ergebnis zurück geben
}
</code></pre>
<p>Wenn ich diese Funktion aufrufen möchte, bricht das Programm einfach ab. (Keiner fehlermeldung beim compilieren.) system(&quot;PAUSE&quot;); wird ignoriert. Die Konsole geht einfach zu. <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="=/"
      alt="😕"
    /></p>
<pre><code class="language-cpp">int main()
{
    turm t1,t2,t3;                 // Typdeklaration der Türme
    int anzahl;

    cout &lt;&lt; &quot;** Turm von Hanoi **&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;Hoehe der Turms: &quot;;
    cin &gt;&gt; anzahl;
    t1=turm(anzahl);               // initialisieren von Turm1
    t2=turm(anzahl);               // initialisieren von Turm2
    t3=turm(anzahl);               // initialisieren von Turm3

    t1.push(4);

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Ich muss den Stack selber implementieren. Ich weiß, dass es das schon fertig gibt, aber das hilft mir leider nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2167003</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2167003</guid><dc:creator><![CDATA[Mephi]]></dc:creator><pubDate>Wed, 11 Jan 2012 22:07:21 GMT</pubDate></item><item><title><![CDATA[Reply to class.method has not been declared on Thu, 12 Jan 2012 09:58:40 GMT]]></title><description><![CDATA[<p>Ein paar kleinere praktische Tipps:</p>
<p>Verwende einfach den Debugger um zu sehen was passiert. Damit lernt man zwar keine Konzepte, aber man sieht meistens was funktioniert und was nicht.</p>
<p>Wenn Du am Ende noch eine weitere (sinnlose) Eingabe einbaust, wartet er, bevor er das Programm beendet.</p>
<p>Wenn Du Dein Programm aus einer offenen Konsole startest und nicht per Doppelklick bleibt das Fenster hinterher auch stehen und Du kannst in Ruhe schauen welche Ausgaben das Programm erzeugt hat.</p>
<p>Protokolausgaben (per trace oder als konsolenausgaben) sind auch ein gutes Mittel um Fehler zu finden. Schreibe eine kleine Methode, um den Zustand Deiner Klasse auszugeben und rufe diese an den kritischen Stellen auf, um zu schauen, ob alles ok ist. Damit kann man den Fehler dann einkreisen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2167075</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2167075</guid><dc:creator><![CDATA[dibada]]></dc:creator><pubDate>Thu, 12 Jan 2012 09:58:40 GMT</pubDate></item></channel></rss>