Initialisierung struct



  • Hallo,

    sorry für die vielleicht dämliche Frage, aber ich stehe noch ziemlich am Anfang, was das Programmieren angeht. Ich hab folgendes Problem:

    In meiner .h Datei habe ich zum einen ein struct definiert und eine Public Methode der folgenden Form .(Die Methode gehört zur Klasse CHighscore):

    struct SCORE {char Name [256]; int Punkte;};
    bool neuerScore (SCORE n_NeuerSpieler);

    In meiner .cpp Datei implementiere ich dann die Methode.

    bool CHighscore::neuerScore (SCORE n_NeuerSpieler)

    Jetzt habe ich das Problem, dass ich überhaupt nich weiß, wie ich mit diesem übergebenen Parameter n_NeuerSpieler umgehen muss. Vor allem, wenn ich die MEthode aufrufe. Mal angenommen ich schreibe in der main():

    CHighscore Highscore ("Test.dat",3);
    Highscore.neuerScore (Spieler1);

    Die übergabe mit dem Spieler1 funktioniert nicht. Ich kriege als Fehlermeldung immer: nicht deklarierter Bezeichner. Wie kann ich die Methode .neuerScore dann starten?

    Danke schon mal für eure Hilfe



  • Natürlich mußt du den Bezeichner "Spieler1" erst deklarieren, bevor du ihn verwenden kannst:

    CHighscore Highscore(...);
    CHighscore::SCORE Spieler1 = { "Azador", -1 };
    Highscore.neuerScore(Spieler1);
    

    (PS: Vielleicht solltest du (a) dem struct SCORE einen Ctor schenken und (b) anstelle des char[] einen std::string verwenden)


Anmelden zum Antworten