mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Warnung: makes pointer from integer without a cast


Autor: Lokus Pokus (derschatten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende von Peter Fleurys LCD-Lib die Funktion
lcd_puts_p(pgm_read_word(&menu[menu_index].text));

Als Warnung bekomme ich jedoch:
../main.c:596: warning: passing argument 1 of 'lcd_puts_p' makes pointer 
from integer without a cast

weil die Rückgabewerte nicht klar definiert sind.

Mit
lcd_puts_p((PGM_P)pgm_read_word(&menu[menu_index].text));
tritt die Warnung nun nicht mehr auf.
jetzt ist die Frage, umgehe ich damit das Problem nur oder wird es 
tatsächlich gelöst?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wahrscheinlich (weil Definition von menu[menu_index].text sieht man 
nicht, Annahme die ist richtig) gelöst.

Autor: Bernhard R. (barnyhh)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du das Problem lösen willst, dann solltest Du wissen, was Du 
tust. Wildes Herumgecaste ohne Wissen bringt nichts. Schon die Bibel 
sagt: "Herr vergib ihnen, denn sie wissen nicht, was sie tun!"

Bernhard

Autor: Andreas Ferber (aferber)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Meldung ist doch eigentlich ziemlich offensichtlich. lcd_puts_p() 
hätte gerne einen Pointer als Argument, pgm_read_word() liefert aber 
einen Integer, daher die Meldung ohne den Cast. Im zweiten Fall hast du 
einen expliziten Cast drinstehen, und der Compiler gibt Ruhe (der 
explizite Cast wird vom Compiler als "Ja, ich weiss was ich tue" 
interpretiert, ob das stimmt, ist ein anderes Thema).

Andreas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.