Forum: Compiler & IDEs Arduino 1.8.0: Compiler meckert grundlos??


von Hanno R. (Firma: webatel hanno reimann) (realhanno)


Lesenswert?

Warum meckert der Compiler mit:

warning: type qualifiers ignored on function return type 
[-Wignored-qualifiers]

bei den folgenden Zeilen?

operator const uint8_t() const       { return **this; }
               ^
operator const int() const          { return index; }
               ^
(gefunden in der EEPROM.h für Arduino:
Original Copyright (c) 2006 David A. Mellis.  All right reserved.
New version by Christopher Andrews 2015.
Zeilen EEPROM.h:43:30 und EEPROM.h:92:26)

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

const im return-Typ ist Unsinn.  Was soll das bewirken?

von Hanno R. (Firma: webatel hanno reimann) (realhanno)


Lesenswert?

1
operator const uint8_t() const       { return **this; }

was das soll, eröffnet sich mir auch nicht. Ist aber die offizielle lib 
EEPROM.h für Arduino. Bei den vorigen Versionen von Arduino hatte der 
Compiler aber auch nicht gemeckert...

von Hanno R. (Firma: webatel hanno reimann) (realhanno)


Lesenswert?

.. habe das "const" mal rausgenommen, schon meckert keiner mehr. Erst 
recht nicht der Compiler. Allerdings frage ich mich, warum er vorher 
nicht gemeckert hatte - ist vielleicht eine neue Version des Compilers 
dazugekommen? Kann's mir nur damit erklären.
Vielen Dank für den Hinweis....

von Peter II (Gast)


Lesenswert?

1
operator const uint8_t&() const       { return **this; }

so könnte eventuell das const drin bleiben.

von Hanno Reimann (Gast)


Lesenswert?

Peter II schrieb:
> operator const uint8_t&() const       { return **this; }
>
> so könnte eventuell das const drin bleiben.

Hab beide Versionen gecheckt - das erste const weglassen oder das "&" 
einfügen. Letzteres wäre logischer, aber es wird trotzdem noch 
gemeckert. Das "const" weggenomen, Programm gecheckt, alles 
funktioniert, kein gemeckere.
Vielen Dank für die Hinweise...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.