- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Rückgabewert einer Funktion verwerfen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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)

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    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 16:09 Uhr)

  3. #3
    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.

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    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.

  5. #5
    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, 22:50
  2. Antworten: 20
    Letzter Beitrag: 18.04.2010, 17:37
  3. Array Als Rückgabewert aus Funktion
    Von Lync im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 18.11.2009, 18:33
  4. Funktion als Rückgabewert einer Funktion?
    Von Jaecko im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 08.09.2008, 10: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, 07:18

Berechtigungen

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

LiFePO4 Speicher Test