hi Leute,
ich habe eine kleine Frage,
beim Kompilieren eines Codes bekomme ich zweimal die folgende
Fehlermeldung:
error: expected identifier or '(' befor numeric constant
weiss jemand vielleicht woran es liegen kann ???
danke im Voraus
>weiss jemand vielleicht woran es liegen kann ???
Vermutlich ein Fehler im Programm...
Wie sieht das denn aus?
Für welchen Prozessor ist das geschrieben?
Mit welchem Compiler wird das übersetzt?
Danke für die schnelle Hilfe. :-)
Das Programm ist für die serielle Übertragung von Daten zu einem LCD.
Das ist einbischen lang weil Befehle und dann Zeichen einzeln und
nacheinander geschickt werden.
Das ist für ein Tiny45
und wird mit dem Studio 4 compiliert
C-Quelltext wird übrigens deutlich lesbarer, wenn man ihn vernünftig
einrückt bzw. formatiert.
Diesen Spaghettihaufen zu entwirren habe ich keine sonderliche Lust.
Wenn Du jetzt noch die Zeilennummer nennen könntest, in der Dein
Compiler den Fehler erkennt ...
>...ist einbischen lang...
Ja, ist es ;-)
Du hast aber nicht wirklich ein define für 5 und 10 angelegt, oder? :-o
:
if (Tausendstel>=Fuenf){
if(++Hundertstel>=Zehn){
:
Wenn das eine ASCII-Fünf ist, dann versuchs doch mal sprintf().
Das macht aus einer Zahl einen String...
Und wenns keine ASCII-Fünf ist, dann versuchs doch mal mit sprintf()
und ziehe von jedem Zeichen vor dem Ausgeben '0' (ASCII-Null) ab...
Der Fehler lässt sich schwer finden, wenn du uns nicht die Zeile
verrätst, für die er gemeldet wird, oder die fehlenden Include-Dateien
mitlieferst.
Ich habe einen anderen Fehler entdeckt :)
Zeilen 190-193:
1
DispData=DispFL6;
2
SeriellSenden(0);
3
DispData=Zeichen_l;// <===
4
SeriellSenden(1);
Müsste an der markierten Stelle nicht ein "Zeichen_a" statt
"Zeichen_l" stehen? Entsprechende Anpassungen müssen natürlich auch
die nächsten 40 Code-Zeilen gemacht werden.
tut mir leid für das lange Code, aber momentan komme ich nicht weiter
habe versucht es zu verkürzen nur leider meine Kenntnisse sind nicht so
gross.
die Zeile sind 336 und 346
doch Fuenf und Zehn habe ich in einer Headerdatei definiert.
#define Zehn 10
#define Fuenf 5
> tut mir leid für das lange Code, aber momentan komme ich nicht weiter> habe versucht es zu verkürzen nur leider meine Kenntnisse sind nicht so> gross.
Du hättest ja den Bereich posten können, in dem der Fehler ist, mit der
beanstandeten Zeile irgenwie markiert.
> doch Fuenf und Zehn habe ich in einer Headerdatei definiert.> #define Zehn 10> #define Fuenf 5
Wozu um alles in der Welt soll das gut sein? Für den Fall, daß sich fünf
mal ändert und auf einmal den Wert 6 hat?
> die Zeile sind 336 und 346
Die Datei hat 331 Zeilen.
> #define Zehn 10> #define Fuenf 5
Schreibst du, wenn du in deinem Programm die Zahl 1396738471 brauchst
?
Übrigens ist der Wettbewerb, an dem du teilnehmen möchtest, leider
seit über einem Jahr schon vorbei:
http://www.de.ioccc.org/main.html
'tschuldigung, ist einfach so über mich gekommen :)
also die Seite brauche ich ehh nicht, will nicht an irgendein Wettbewerb
teilnehmen
ich hätte besser Verbesserungsmöglichkeiten oder ein Rat erwartet
und die Fehler Tauchen in der genannten Zeilen auf, wo nix steht
> also die Seite brauche ich ehh nicht, will nicht an irgendein> Wettbewerb teilnehmen ich hätte besser Verbesserungsmöglichkeiten> oder ein Rat erwartet
Nichts für ungut, ich habe mich ja schon dafür entschuldigt.
Trotzdem spuckt der Compiler keine Fehlermeldungen für Zeilen aus, die
jenseits des Endes der Quellcodedatei liegen. Vielleicht ist der
Fehler gar nicht in der von dir geposteten Datei, sondern in einer der
Include-Dateien, die vielleicht tatsächlich länger ist. Der Dateiname
wird direkt vor der Zeilennummer angezeigt. Steht da wirklich
disp-init.c:336: error: ...
Wenn ja, dann ist die Datei, die du kompiliert hast, mit der
geposteten nicht identisch.
ist kein Ding Yalu :-) nur sind diese errors für ein Anfänger ein
richtiger Schrek.
Ich bekomme genau die Meldung
disp-init.c:336: error: ...
disp-init.c:349: error: ...
> Wenn ja, dann ist die Datei, die du kompiliert hast, mit der> geposteten nicht identisch.
Was soll man in so einem Fall tun
>> Wenn ja, dann ist die Datei, die du kompiliert hast, mit der>> geposteten nicht identisch.>Was soll man in so einem Fall tun
Die Originale posten. Und zwar alle Dateien.
Dann kann man das mal selber durch den Compiler jagen.
Vielleicht benennst du die Funktionen TestTasteZwei und
TestTasteDrei um in DispTestTasteZwei und DispTestTaste3. Diese
Namen passen auch besser zu DispInitialisierung und
DispAnzeigeMessung, bei denen es auf Grund des Prefixes Disp
keinen Konflikt mit den entsprechenden Defines in Initialisierung.h
gibt.