INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Funktion/Methode mit mehr als einem Ausgangswert
20.10.2015, 09:52 (Dieser Beitrag wurde zuletzt bearbeitet: 20.10.2015 09:56 von Marduino_UNO.)
Beitrag #17
RE: Funktion/Methode mit mehr als einem Ausgangswert
Code:
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);

}

float InputValue = 2.0;
    typedef struct {
    float aFloat;
    float bFloat;
    float cFloat;
} multiVar;


multiVar myFunc(float inValue) {
    multiVar retVal;
    retVal.aFloat = inValue * 2.0;
    retVal.bFloat = inValue * 3.0;
    retVal.cFloat = inValue * 4.0;
    return retVal;
};

void loop() {
  // put your main code here, to run repeatedly:
   multiVar ArrayValue = myFunc(InputValue);
    
   Serial.println(ArrayValue.aFloat);
   Serial.println(ArrayValue.bFloat);
   Serial.println(ArrayValue.cFloat);
}
Fehlermeldung:
Arduino: 1.7.6 (Windows 7), Platine: "Arduino Uno"

Methode_mehr_Rueckgabewerte.ino:3:1: error: 'multiVar' does not name a type

Fehler beim Kompilieren.

Weiß nicht wie ich die Zeilenangaben mit kopieren soll....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 10:27
Beitrag #18
RE: Funktion/Methode mit mehr als einem Ausgangswert
Hi,
ich habe das ganze jetzt doch mal in eine Arduino IDE gepackt und selbst ausprobiert. Anscheinend hat der verwendete Compiler ein Problem mit de typedef, aber nur bei der Deklaration des Rückgabewerts einer Funktion. Folgendes Coding läuft bei mir ohne Fehler durch:
Code:
void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);

}

float InputValue = 2.0;

typedef struct multiVar {
     float aFloat;
     float bFloat;
     float cFloat;
} multiVar;


struct multiVar myFunc(float inValue) {
     multiVar retVal;
     retVal.aFloat = inValue * 2.0;
     retVal.bFloat = inValue * 3.0;
     retVal.cFloat = inValue * 4.0;
     return retVal;
};

void loop() {
   // put your main code here, to run repeatedly:
    multiVar ArrayValue = myFunc(InputValue);
    
    Serial.println(ArrayValue.aFloat);
    Serial.println(ArrayValue.bFloat);
    Serial.println(ArrayValue.cFloat);
}

Die Änderungen sind:
1. Explizite Benennung des struct
2. Deklaration des Rückgabewerts von myFunc

Ich habe keine Ahnung, warum multiVar bei Variablendeklarationen/-definitionen als Typ erkannt wird, aber nicht bei Funktionsdeklarationen/-definitionen. Ich vermute da einen Bug.

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
20.10.2015, 10:30
Beitrag #19
RE: Funktion/Methode mit mehr als einem Ausgangswert
Hi Thorsten,

super das klappt nun bei mir auch! Vielen Dank für Deine Mühe.

Gruß
Marduino_UNO
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Probleme mit einem Sketch für einen LED Cube 5x5x5 Frank1234 5 194 13.03.2017 12:12
Letzter Beitrag: Tommy56
  Mehrere HX711 mit einem Arduino Uno be14b029 5 219 08.02.2017 18:09
Letzter Beitrag: Binatone
  8 Taster an einem Pin Kitt 9 462 04.02.2017 18:51
Letzter Beitrag: ardu_arne
  Code aus 1.6.9 geht mit 1.8.1 nicht mehr zu kompilieren DL1AKP 7 363 02.02.2017 12:16
Letzter Beitrag: Tommy56
  aufeinander Aufbauende Lichtaktion mit einem Taster Colby 9 475 17.12.2016 13:30
Letzter Beitrag: Colby
  Bridge und TemperaturWebPanel in einem Skript j_ard 4 345 17.12.2016 11:06
Letzter Beitrag: j_ard
  A4988 Driver mit einem Nema 17 Hangloose 3 375 04.09.2016 21:49
Letzter Beitrag: Hangloose
  Arduino lässt sich nicht mehr beschreiben Maxi290997 15 1.398 07.08.2016 11:40
Letzter Beitrag: Maxi290997
  Funktion mit Parameterübergabe - u8g torsten_156 8 540 22.06.2016 18:53
Letzter Beitrag: Pit
  Kann ich mit einem Arduino ein Gyro für Adroid Simulieren? Demitos 0 491 16.03.2016 18:33
Letzter Beitrag: Demitos

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste