-
        

Ergebnis 1 bis 7 von 7

Thema: Rückgabewert einer Funktion verwerfen

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    16.04.2011
    Beiträge
    78

    Rückgabewert einer Funktion verwerfen

    Anzeige

    Hallo liebe Gemeinde,

    kurze (und möglicherweise blöde) Frage: kann man eigentlich auf eine intelligente Art den Rückgabewert einer Funktion verwerfen?
    D.h. gar nicht erst in irgendeine Variable speichern.

    Wenn die Funktion z.B. Statusmeldungen als Rückgabewert ausgibt, die man aber nicht benötigt...

    Grüße,
    Nik

  2. #2
    RN-Premium User Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    47
    Beiträge
    459
    Blog-Einträge
    16
    Wenn du den Rückgabewert einer Funktion nicht brauchst, dann rufst du foo(); einfach auf, als hätte sie keinen Rückgabewert. Das ist wohl die einfachste Art, den Rückgabewert zu verwerfen.
    Vielleicht kannst du etwas Quellcode zeigen, was eigentlich das Problem ist?

    Gruß
    witkatz

    - - - Aktualisiert - - -

    Wolltest du wirklich so was einfaches wissen, oder habe ich die Frage nicht verstanden ?

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    16.04.2011
    Beiträge
    78
    Nein-nein, du hast alles richtig verstanden, witkatz, danke
    Ich versuche mich gerade mit AtmelStudio anzufreunden. Während meine alten Compiler mir eine Warnung gezeigt haben, wenn ich eine Funktion mit Rückgabewert, ohne einen solchen zu sichern, ausgeführt habe - tut das AtmelStudio nicht. Da wollte ich dann vorsichtshalber nachfragen, ob das vllt. zu keinem guten Stil gehört^^

    Wenn man mir noch eine Frage gestatten würde: Wie sieht es mit umgekehrt aus? Also eine void-Funktion, die aber trotzdem einen Rückgabewert ausgibt. Funktioniert dies? (außer Zeiger, Ändern einer globalen Variable)

  4. #4
    RN-Premium User Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    47
    Beiträge
    459
    Blog-Einträge
    16
    Zitat Zitat von Liquidator Beitrag anzeigen
    Wenn man mir noch eine Frage gestatten würde:
    OK, ausnahmnsweise
    Zitat Zitat von Liquidator Beitrag anzeigen
    Wie sieht es mit umgekehrt aus? Also eine void-Funktion, die aber trotzdem einen Rückgabewert ausgibt. Funktioniert dies? (außer Zeiger, Ändern einer globalen Variable)
    k.A. was Atmel Studio in dem Fall macht - probiere es aus und berichte.
    Ich programmiere PICs mit XC8, der wirft in dem Fall den Fehler "error: (204) void function can't return a value". Wenn ein Compiler das nicht abfängt - ist schlimmstenfalls der Rückgabewert einer void Funktion undefiniert - unabhängig vom return Wert kommt also Müll zurück.

    Nachtrag:
    das gilt für explizit void deklarierte Funktionen. Wenn der Rückgabetyp in der Deklaration gänzlich fehlt, ist eine Funktion implizit vom Typ int.
    Geändert von witkatz (04.05.2016 um 17:09 Uhr)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    16.04.2011
    Beiträge
    78
    OK, ausnahmnsweise
    Ui, einen echt guten Tag erwischt

    Gäbe es denn eine Möglichkeit, bei einer void-Funktion trotzdem einen Rückgabewert zu erhalten?
    Dies ist jetzt nicht codebezogen, sondern eine hypothetische Aufgabenstellung.

  6. #6
    RN-Premium User Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    47
    Beiträge
    459
    Blog-Einträge
    16
    Zitat Zitat von Liquidator Beitrag anzeigen
    Gäbe es denn eine Möglichkeit, bei einer void-Funktion trotzdem einen Rückgabewert zu erhalten?
    Bei nativen C nur über call by reference, also Übergabe von Zeiger an die Funktion. Oder mit globalen Variablen - warum nicht. Ob es darüber hinaus in AtmelStudio noch andere Möglichkeiten gibt - k.A.

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    16.04.2011
    Beiträge
    78
    Ok, damit ist die "ausnahmsweise weitere Frage" vorbei, ich danke dir

Ähnliche Themen

  1. ein Int-Array einer Funktion
    Von oderlachs im Forum Arduino -Plattform
    Antworten: 13
    Letzter Beitrag: 17.02.2014, 23:50
  2. Antworten: 20
    Letzter Beitrag: 18.04.2010, 18:37
  3. Array Als Rückgabewert aus Funktion
    Von Lync im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 18.11.2009, 19:33
  4. Funktion als Rückgabewert einer Funktion?
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 08.09.2008, 11:25
  5. Daten aus UART verwerfen, wenn unvollständig
    Von frank-wob im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 20.06.2007, 08:18

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •