Zwei Fehlermeldungen beim Kompillieren. Bitte um Hilfe.

Gast #4067059
Hallo meine Freunde.


Ich bekomme zu dieser Funktion 2 Fehlermeldungen:
1
float ds18b20_readtemp (unsigned char code)
2
{
3
  int i,  ds1820skratchpad[9];
4
  float floattemp;
5

6
  cli();
7
  w1_reset();
8
  w1_command(READ, code);
9
  for (i=0; i<9; i++)
10
  {
11
    ds1820skratchpad[i] = w1_byte_rd();
12
  }
13
  sei();
14
  floattemp = ((ds1820skratchpad[1]<<8)+ds1820skratchpad[0])*0.0625;
15
  return floattemp;
16
}

1. parameter name omitted  (Zeile 1)
2. expected expression before ')' token   (Zeile 9)


Prototyp ist deklariert. Kann mir jemand sagen was hier falsch ist? Ich 
kann sie mir leider nicht erklären.

Viele Grüße
Gast #4067068
Nein, natürlich nicht. Die Zeilenangaben beziehen sich auf den 
geposteten Codeschnippsel ;)

Deswegen ja auch nur ein uint8. Ja ich weis, ich hätte auch gleich ein 
Char-Array machen können, aber daran liegt es nicht. :)
Gast #4067114
Der Funktionsprototyp:
float ds18b20_readtemp(unsigned char code);

für die w1-Funktionen:
uchar w1_reset(void);
uint w1_byte_rd( void );
void w1_command( uchar command, uchar idata *id );
#4077906
Ronny Spiegel schrieb:
> Interessant ... seit wann ist denn "code" ein Keyword in C und
> welche
> Bedeutung hat es? Ich konnte da nix zu finden.

Wenn das mal für einen 8051 gedacht war, findet sich vermutlich in 
irgendeinem Header noch ein:
1
#define code

D.h. "code" wird durch "" (nix) ersetzt. Bei 8051 C Compilern gibt man 
mit "code" das Code-Segment (für Konstanten oder Strings) vor.

Du solltest dann auch bei "data", "idata", "xdata" oder "pdata" 
aufpassen. Da könnte dasselbe passieren.
Gast #4077938
Ronny Spiegel schrieb:
> Interessant ... seit wann ist denn "code" ein Keyword in C und
> welche Bedeutung hat es? Ich konnte da nix zu finden.

Was viel schlimmer ist: Ein C Compiler gibt keine vernünftigen Meldungen 
aus. Fehlt irgendwo eine Klammer, zeigt der Error auf irgendein Symbol 
20 Zeilen tiefer.

Das ist Futter für den Schwanz, ähh Compiler Vergleich in einem parallen 
Thread.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.