<?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[Klassenvariablen in switch undeclared]]></title><description><![CDATA[<p>Hallo, ich bin gerade dabei C++ zu lernen und heute bin ich auf ein Problem gestoßen bei dem ich nicht mehr weiterkomme...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Mitarbeiter
{
      friend class ListeVonMitarbeitern;

      private: 
      string Mitarbeitername;
      int Mitarbeiternummer;
      int Zimmernummer;
      Mitarbeiter* Nachfolger;

      public:
      Mitarbeiter(string name = '', int mNr = 0, int zNr = 0):Mitarbeitername(name), Mitarbeiternummer(mNr), Zimmernummer(zNr), Nachfolger(0)
      {}
      int getMitarbeiternummer()const{return Mitarbeiternummer;}
      int getZimmernummer()const{return Zimmernummer;}
      void Schluesselvergeben(int Zimmernummer){}
      Mitarbeiter* next(){return Nachfolger;}
      void print()const{cout &lt;&lt; &quot;Mitarbeitername: &quot; &lt;&lt; Mitarbeitername &lt;&lt; &quot;Mitarbeiternummer: &quot; &lt;&lt; Mitarbeiternummer &lt;&lt; endl;}
      void find(int Mitarbeiternummer){}
};
class ListeVonMitarbeitern
{
      private:
      Mitarbeiter *Head;

      public:
      ListeVonMitarbeitern():Head(0){}
      void insert (Mitarbeiter * mb)
           {mb-&gt;Nachfolger = Head;
           Head = mb;}
      Mitarbeiter * remove()
           {Mitarbeiter * mb = Head;
           if(mb!=0)
              {Head = mb-&gt;Nachfolger;
              mb-&gt;Nachfolger = 0;
              }
           return mb;
           }
      Mitarbeiter * begin() const {return Head;}
      bool empty()const{return Head == 0;}
      inline Mitarbeiter * find(int)const;
};
Mitarbeiter * ListeVonMitarbeitern::find(int mNr)const
      {
      Mitarbeiter * mb;
      for(mb = begin();
      mb != 0;
      mb = mb-&gt;next())
         if(mb-&gt;getMitarbeiternummer() == mNr)
         break;
      return mb;
      }

int main()
{
    int Auswahl;
    cout &lt;&lt; &quot;Guten Tag&quot; &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot;Waehlen Sie eine der folgenden Aktionen aus: &quot; &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot; 1: Schluesselausgabe&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot; 2: Mitarbeiter suchen&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot; 3: Ausgabe aller Mitarbeiter mit Schluesseln&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot; 4: Abbrechen&quot; &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot;Ihre Auswahl: &quot;;
    cin &gt;&gt; Auswahl;
    switch (Auswahl) {  
      case 1:
           cout &lt;&lt; &quot;Schluesselausgabe&quot; &lt;&lt; endl &lt;&lt; endl;
           cout &lt;&lt; &quot;Mitarbeiternummer: &quot;;
           cin &gt;&gt; mNr;
           mb = list.find(mNr);
           if(mb != 0)
                 cerr &lt;&lt; &quot;Mitarbeiternummer existiert bereits!&quot;&lt;&lt; endl;
           else
                 list.insert(new Mitarbeiter(mNr));
           break;
      case 2:
           cout &lt;&lt; &quot;Mitarbeiter suchen&quot; &lt;&lt; endl &lt;&lt; endl;
           cout &lt;&lt; &quot;Mitarbeiternummer: &quot;;
           cin &gt;&gt; mNr;
           mb = list.find(mNr);
           if(mb == 0)
           {cerr &lt;&lt; &quot;Nummer existiert nicht&quot; &lt;&lt; endl;}
           else {mb-&gt;print();}
           break;
      case 3:
           cout &lt;&lt; &quot;Ausgabe aller Mitarbeiter mit Schluesseln&quot; &lt;&lt; endl &lt;&lt; endl;
           for(mb=list.begin();
               mb!=0;
               mb = mb-&gt;next())
               mb-&gt;print();
           break;
      case 4:
           cout &lt;&lt; &quot;Auf Wiedersehn&quot; &lt;&lt; endl &lt;&lt; endl;
           goto Schluss;
      default: cout &lt;&lt; &quot;Die Auswahl ist nicht korrekt!&quot; &lt;&lt; endl &lt;&lt; endl;
      goto Schluss;   
      }

    Schluss:
    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Der Compiler sagt mir: <strong>list, mb und mNr undeclared (first use this function)</strong><br />
aber ich habe sie doch in der Klasse deklariert oder nicht?</p>
<p>wäre toll wenn mir jemand weiterhelfen könnte!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/267224/klassenvariablen-in-switch-undeclared</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 16:32:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/267224.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 20 May 2010 15:52:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Klassenvariablen in switch undeclared on Thu, 20 May 2010 15:52:39 GMT]]></title><description><![CDATA[<p>Hallo, ich bin gerade dabei C++ zu lernen und heute bin ich auf ein Problem gestoßen bei dem ich nicht mehr weiterkomme...</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

class Mitarbeiter
{
      friend class ListeVonMitarbeitern;

      private: 
      string Mitarbeitername;
      int Mitarbeiternummer;
      int Zimmernummer;
      Mitarbeiter* Nachfolger;

      public:
      Mitarbeiter(string name = '', int mNr = 0, int zNr = 0):Mitarbeitername(name), Mitarbeiternummer(mNr), Zimmernummer(zNr), Nachfolger(0)
      {}
      int getMitarbeiternummer()const{return Mitarbeiternummer;}
      int getZimmernummer()const{return Zimmernummer;}
      void Schluesselvergeben(int Zimmernummer){}
      Mitarbeiter* next(){return Nachfolger;}
      void print()const{cout &lt;&lt; &quot;Mitarbeitername: &quot; &lt;&lt; Mitarbeitername &lt;&lt; &quot;Mitarbeiternummer: &quot; &lt;&lt; Mitarbeiternummer &lt;&lt; endl;}
      void find(int Mitarbeiternummer){}
};
class ListeVonMitarbeitern
{
      private:
      Mitarbeiter *Head;

      public:
      ListeVonMitarbeitern():Head(0){}
      void insert (Mitarbeiter * mb)
           {mb-&gt;Nachfolger = Head;
           Head = mb;}
      Mitarbeiter * remove()
           {Mitarbeiter * mb = Head;
           if(mb!=0)
              {Head = mb-&gt;Nachfolger;
              mb-&gt;Nachfolger = 0;
              }
           return mb;
           }
      Mitarbeiter * begin() const {return Head;}
      bool empty()const{return Head == 0;}
      inline Mitarbeiter * find(int)const;
};
Mitarbeiter * ListeVonMitarbeitern::find(int mNr)const
      {
      Mitarbeiter * mb;
      for(mb = begin();
      mb != 0;
      mb = mb-&gt;next())
         if(mb-&gt;getMitarbeiternummer() == mNr)
         break;
      return mb;
      }

int main()
{
    int Auswahl;
    cout &lt;&lt; &quot;Guten Tag&quot; &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot;Waehlen Sie eine der folgenden Aktionen aus: &quot; &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot; 1: Schluesselausgabe&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot; 2: Mitarbeiter suchen&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot; 3: Ausgabe aller Mitarbeiter mit Schluesseln&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot; 4: Abbrechen&quot; &lt;&lt; endl &lt;&lt; endl;
    cout &lt;&lt; &quot;Ihre Auswahl: &quot;;
    cin &gt;&gt; Auswahl;
    switch (Auswahl) {  
      case 1:
           cout &lt;&lt; &quot;Schluesselausgabe&quot; &lt;&lt; endl &lt;&lt; endl;
           cout &lt;&lt; &quot;Mitarbeiternummer: &quot;;
           cin &gt;&gt; mNr;
           mb = list.find(mNr);
           if(mb != 0)
                 cerr &lt;&lt; &quot;Mitarbeiternummer existiert bereits!&quot;&lt;&lt; endl;
           else
                 list.insert(new Mitarbeiter(mNr));
           break;
      case 2:
           cout &lt;&lt; &quot;Mitarbeiter suchen&quot; &lt;&lt; endl &lt;&lt; endl;
           cout &lt;&lt; &quot;Mitarbeiternummer: &quot;;
           cin &gt;&gt; mNr;
           mb = list.find(mNr);
           if(mb == 0)
           {cerr &lt;&lt; &quot;Nummer existiert nicht&quot; &lt;&lt; endl;}
           else {mb-&gt;print();}
           break;
      case 3:
           cout &lt;&lt; &quot;Ausgabe aller Mitarbeiter mit Schluesseln&quot; &lt;&lt; endl &lt;&lt; endl;
           for(mb=list.begin();
               mb!=0;
               mb = mb-&gt;next())
               mb-&gt;print();
           break;
      case 4:
           cout &lt;&lt; &quot;Auf Wiedersehn&quot; &lt;&lt; endl &lt;&lt; endl;
           goto Schluss;
      default: cout &lt;&lt; &quot;Die Auswahl ist nicht korrekt!&quot; &lt;&lt; endl &lt;&lt; endl;
      goto Schluss;   
      }

    Schluss:
    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Der Compiler sagt mir: <strong>list, mb und mNr undeclared (first use this function)</strong><br />
aber ich habe sie doch in der Klasse deklariert oder nicht?</p>
<p>wäre toll wenn mir jemand weiterhelfen könnte!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900253</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900253</guid><dc:creator><![CDATA[cadi74]]></dc:creator><pubDate>Thu, 20 May 2010 15:52:39 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariablen in switch undeclared on Thu, 20 May 2010 15:56:27 GMT]]></title><description><![CDATA[<p>Formatiere deinen Quelltext doch bitte erst einmal vernünftig. Vielleicht entdeckst du den Fehler dann selbst. Wenn nicht, hier ein Tipp: Beachte den Scope von Variablen.</p>
<p><strong>Leere Zeilen sind nicht böse!</strong></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900258</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 20 May 2010 15:56:27 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariablen in switch undeclared on Thu, 20 May 2010 15:57:10 GMT]]></title><description><![CDATA[<p>Beschäftige dich mal damit, wie das mit dem <em>Gültigkeitsbereich</em> (im Englischen <em>Scope</em>) von Variablen funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900260</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900260</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 20 May 2010 15:57:10 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariablen in switch undeclared on Thu, 20 May 2010 16:06:32 GMT]]></title><description><![CDATA[<p>ja das hab ich mir von Anfang an gedacht, dass es am Gültigkeitsbereich liegt...</p>
<p>ich habe nur ein Beispielprogramm vor mir, dass genauso funktioniert und da soll es klappen, laut meinem tut...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900266</guid><dc:creator><![CDATA[cadi74]]></dc:creator><pubDate>Thu, 20 May 2010 16:06:32 GMT</pubDate></item><item><title><![CDATA[Reply to Klassenvariablen in switch undeclared on Thu, 20 May 2010 16:08:14 GMT]]></title><description><![CDATA[<p>Unter Garantie nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1900267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1900267</guid><dc:creator><![CDATA[Janjan]]></dc:creator><pubDate>Thu, 20 May 2010 16:08:14 GMT</pubDate></item></channel></rss>