Problem beim initialisieren eines Mehrdimensionalen Arrays



  • Ich habe schon alles versucht diesen Array zum funktionieren zu bringen.

    • Ich hab die Syntax nachgeschaut und die müsste so bei Mehrdimensionalen
      Arrays funktionieren
    • Ich habe versucht den Array direkt im privaten Teil zu initialisieren
    • Vor jeden Variablennamen den Variablentyp geschrieben
      Hat jemand eine Idee wie man ihn initialisiert.
      Danke schonmal für die Hilfe
      Randy
    class Wissensbuch {
    public:
    	Wissensbuch() {
    	}
    	Wissensbuch(int Preis)
    	: Preis(Preis)
    	{	
    	}
    private:
    	int Preis;
    };
    
    class Wissensbrett {
    public:
    
    	Wissensbrett() :
    		Brett
    	{ Wissensbuch Edelsteine2(2),  Edelsteine4(4), Edelsteine8(8), Edelsteine16(16),
    	Energiefluss3(3), Energiefluss6(6), Energiefluss12(12), Energiefluss3(24),
    	Feuer5(5), Feuer10(10), Feuer15(15), Feuer20(20),
    	Weisen3(3), Weisen6(6), Weisen12(12), Weisen24(24),
    	Artefakte2(2), Artefakte4(4), Artefakte8(8), Artefakte16(16),
    	Speicherung2(2), Speicherung4(4), Speicherung8(8), Speicherung16(16) }
    	{
    		cout << "Konstruktor" << endl;
    	}
    private:
    	const Wissensbuch Brett[6][4];
    };
    


  • Die Frage gab es schon mal vor ein paar Monaten: Mehrdimensionale Arrays

    Ist das eine Übungsaufgabe (aus einem Buch oder Kurs)?

    Aber woher kommt dann die falsche Syntax (denn so steht das ganz bestimmt in keinem guten C++ Buch)?



  • Eigentlich ganz einfach:

    #include <iostream>
    
    using namespace std;
    
    
    class Wissensbuch {
    public:
    	Wissensbuch() {
    	}
    	Wissensbuch(int Preis)
    	: Preis(Preis)
    	{	
       }
    
       int getPreis(){return Preis;}
    private:
    	int Preis;
    };
    
    class Wissensbrett {
    public:
    
    	Wissensbrett() :
    		Brett
    	{ 2,  4, 8, 16,
    	  3, 6, 12, 24,
    	5, 10, 15, 20,
    	3, 6, 12, 24,
    	2, 4, 8, 16,
    	2, 4, 8, 16 }
    	{
       }
       
       Wissensbuch getBrett(int z, int s){return Brett[z][s];}
       
    
    
    private:
    	const Wissensbuch Brett[6][4];
    };
    
    int main()
    {
       Wissensbrett wb;
       
       cout << "----\n";
       for(int z = 0; z < 6; ++z)
       {
          for(int s = 0; s < 4; ++s)
             cout << wb.getBrett(z, s).getPreis() << ' ';
          cout << '\n';
       }
       cout << "----\n";
    }
    


  • @Th69 Ah danke da wurde die Frage schon beantwortet.
    & Nein ist was privates komisch:0



  • @Belli Danke jetzt weiß ich was ich falsch gemacht habe + es funktioniert
    Made my Day 😘



  • @Randy sagte in Problem beim initialisieren eines Mehrdimensionalen Arrays:

    Nein ist was privates komisch:0

    Ja, komisch


Log in to reply