Ich habe keine Ahnung was du da machst, aber so kann ich es fehler- und warnungsfrei übersetzen:
volatile uint8_t *ptr = NULL;
Hi,
ich hab da mal wieder ein Problem... bzw. der Compiler hat eins. Und zwar wollte ich mal probieren in meinem Programm mit Pointern zu arbeiten. Einstieg dafür bot mir diese Seite http://openbook.galileocomputing.de/c_von_a_bis_z/012_c_zeiger_001.htm#mjee28a882ef9125d2c4cc49121b2 c65c1
Das Programm sieht in etwa so aus...
Und ergibt diese Warnmeldung für die obige Zeile...Code:volatile uint8_t blk_lgt; uint8_t *volatile ptr = NULL; ... ptr = &blk_lgt; ...
Was bedeutet diese Warnmeldung? Ich kann damit überhaupt nichts anfangen. Bei anderen Programmen hatte ich den &Operator schon verwendet, dort hat der Compiler auch gemeckert, aber das Programm lief immerhin. Jetzt meckert er weiter, aber dieses Programm läuft nicht und ich kann das Problem nicht so recht einkreisen...warning: assignment discards qualifiers from pointer target type
Ich bin über jeden Tipp, Anregung oder Kritik sehr dankbar
mfg crowdy
Ich habe keine Ahnung was du da machst, aber so kann ich es fehler- und warnungsfrei übersetzen:
volatile uint8_t *ptr = NULL;
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Hi,
das geht zwar allerdings bedeutet das, dass nicht ptr volatile ist sondern die Variable auf die ptr zeigt. Leider muss in meinem Fall ptr volatile sein... Aber vielen Dank für die Antwort
mfg crowdy
Dass bei der Zuweisung ein "Qualifier" (hier "volatile") verloren geht.Was bedeutet diese Warnmeldung?
Wie du ja selbst sagst, bei ptr ist der Pointer selber volatile aber nicht das Ziel, also geht bei der Zuweisung das volatile von blk_lgt verloren.
Code:volatile uint8_t *volatile ptr = NULL;
MfG
Stefan
ahhhh, das ist also mit Qualifier gemeint...
Super vielen Dank für die hilfreiche und schnelle Antwort!
mfg crowdy
Lesezeichen