Hallo,
warum bekomme ich immer einen Fehler in dieser Funktion (s.unten) Dachte
erst ich hätte ein } zu viel, aber ich finde nichts....
Kann mir bitte jemand helfen?!
Danke
from main.c:22:
./jalousie.h:49: error: expected ';', ',' or ')' before numeric constant
make.exe: *** [main.o] Error 1
in der .h:
Soweit ist erstmal nichts auffälliges zu sehen.
Deine Fehlermeldung enthält Zeilennummern. Wir wissen aber nicht welche
Zeilennummern Dein Code hat.
Bitte poste mal den kompletten Code (Zeile 22 von main.c ist nicht
enthalten) oder kennzeichne Zeile 49 der h-Datei (die, wie ich vermute,
auch nicht gezeigt ist).
Markus schrieb:> ./jalousie.h:49: error: expected ';', ',' or ')' before numeric constant
Soll das heißen diese Funktion ist im Header jalousie.h definiert? Was
hat sie dort zu suchen? Und in deinem Code gibts keine Zeile 49. Und was
jal_status, AusgangUnsetBit (DEnglisch o.O), AusgangOut, etc... sind
weiß hier auch keiner.
Hi
>./jalousie.h:49: error: expected ';', ',' or ')' before numeric constant
Und was steht in Zeile 49 der jalousie.h?
Ich tippe mal auf '};'.
MfG Spess
Die folgende Frage ist scherzhaft, jedenfalls rethorisch gemeint:
Was meint Ihr denn alle, was die ominäösen Zahlen in den Fehlermeldungen
bedeuten? Die Lottozahlen von nächster Woche? :-)
> ... die Zeilennumer 49 dürfte nicht mehr passen....
Schön. Aber Du hast doch unsere Antworten so verstanden, dass wir gerne
die Zeile identifizieren würden, für die der Fehler gemeldet wird?
Also schreibe bitte, wie die Fehlermeldung mit dem neuen Code lautet.
Es scheint aber so zu sein, dass der eigentliche Fehler in einer der vor
jalousie.h eingefügten ist.
Poste am besten alles.
uint16_t time_open[20] =
{500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500
,500,500,};
Das letzte Komma ist zu viel was aber wohl nicht viel ausmacht.
Hast du mal versucht die Zeilen
Holger L. schrieb:> uint16_t time_open[20] => {500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500
,500,500,};
> Das letzte Komma ist zu viel was aber wohl nicht viel ausmacht.
Nein, das Komma ist nicht zu viel. Das ist C.
Johann L. schrieb:> Holger L. schrieb:>> uint16_t time_open[20] =>> {500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500,500> ,500,500,};>> Das letzte Komma ist zu viel was aber wohl nicht viel ausmacht.>> Nein, das Komma ist nicht zu viel. Das ist C.
Gut, kannst du das kurz erklären ?
In meinen Augen ist es überflüssig, habe mich aber auch nur leicht in C
über Internet Tutorials eingearbeitet. Da gehen sehr viele Informationen
verloren.
Johann L. schrieb:> Nein, das Komma ist nicht zu viel. Das ist C.
Also das C-Buch, dass ich gelesen habe, nutzt kein Komma nach dem
letzten Array-Element.
Holger L. schrieb:> Johann L. schrieb:>> Holger L. schrieb:>>> Das letzte Komma ist zu viel was aber wohl nicht viel ausmacht.>>>> Nein, das Komma ist nicht zu viel. Das ist C.>> Gut, kannst du das kurz erklären ?
Das Komma kann weggelassen werden, was nix an der Semantik ändert. Es
ist aber auch nicht falsch, d.h. es erzeugt weder einen Syntax-Fehler
noch ein unerwünschtes Array-Element. Mit dem Problem des OP hat es
also nix zu tun.
An seiner Stelle würde ich mal bei den gefühlt 20 Header anfangen, die
da per Gießkannenprinzip reingezogen werden; teilweise mehrfach oder
über andere Header. Vermutlich lieht das Problem in dem Header-Wahn,
oder daß an entscheidender Stelle z.B. stdint.h fehlt so daß uint16_t
nicht definiert ist.
Ich konnte nur 1-2 Header datei wegnehmen, Problem lag darin, das ich
die "JAL" Variable als Konstante-Variable in der config.h benutz. Das
mocht er nicht?! Da ich die auch "include" hatte er da Problem
angemeldet...
Eine eigene Frage?
Dieser Thread ist über 12 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.