Warnung: makes pointer from integer without a cast

OP #1600387
Lesenswert?

Ich verwende von Peter Fleurys LCD-Lib die Funktion
1
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
1
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?
#1600623
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren