Jeg laver et lille spil og vil gemme high-scores. Jeg lavede en Highscore-klasse øverst i skitsefilen, sådan her:
klasse Highscore {public: String name; int score; String toString () {return this->name + "-" + (String) score; } Highscore (String name, int score) {this->name = name; denne->score = score; }}; opsætning () {// etc
Nu. Nær bunden af skitsen har jeg en funktion, som jeg vil tage et Highscore-objekt som parameter, men compileren vil ikke lade mig. Eksempel:
ugyldig writeHighscore (Highscore hs) {File f = SD.open ("high.txt", FILE_WRITE); // Gør ting
Komplikationsfejlen er som følger:
sketch.ino: 19: 21: error: variabel eller felt 'writeHighscore' erklæret ugyldig
sketch.ino: 19: 21: fejl: 'Highscore' blev ikke erklæret i dette omfang
sketch.ino: I funktion 'void setup ()':
sketch.ino: 64: 20: error : 'writeHighscore' blev ikke erklæret i dette omfang
Efter ændring af parametertype til String, int eller hvad som helst, forsvinder alle fejlene. Jeg er i stand til at oprette Highscore-objekter INDE I writeHighscore ()
-funktionen, men hvordan kan jeg sende objekter til den?
Rediger 1 - Oprettelse af objekt
Highscore hs = Highscore ("John", 975); Serial.println (hs.toString ()); // Udskriver "John - 975" som forventetwriteHighscore (hs); // Fejl