comparison of distinct pointer types lacks a cast
-
Hallo
Freunde von CIch habe da ein HD44780 Project mit XC32 von Microchip (C89 und teilweise C99)
und überarbeite dies, die folgende Funktion funktioniert,
nur bekomme ich "warnings"Kann man die Funktion so verbessern, dass ich keine Warnings mehr bekomme ?
void XLCDOutput(HHD44780 const hHd44780, uint8_t X, uint8_t Y, char *pStr) { SetPositionText(hHd44780, X , Y ); do { pStr = hd44780WriteRAMString(hHd44780, pStr); } while (pStr != (uint8_t *) 0); }
../../../../framework/hd44780/HD44780.c: In function 'XLCDOutput':
../../../../framework/hd44780/HD44780.c:2155:14: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
pStr = hd44780WriteRAMString(hHd44780, pStr);
------^
../../../../framework/hd44780/HD44780.c:2156:19: warning: comparison of distinct pointer types lacks a cast [enabled by default]
} while (pStr != (uint8_t0);
---------------^
-
Welchen Rückgabewert hat
hd44780WriteRAMString
und welchen Typ hat pStr? Ist der Typ von pStr derselbe wie uint8_t*?
-
Für Zeiger nimmt man NULL
-
Oh ja ea war ein Typecast Error uint8_t versus char
-
In Zeile 6 weist du einem nicht const Zeiger einen const Zeiger zu, das sagt dir der Compiler.
-
Danke für die Anrwort
Ja das weiß ich auch, aber kann man das ändern ?
-
Das kann man ändern, ja.