Bitte entschuldigt meine Frage. Wahrscheinlich stehe ich nur mal wieder auf dem Schlauch, aber ich bekomme seit Stunden die Fehlermeldung, dass std::string nicht definiert sei und ich komme nicht darauf, welche Bibliothek ich einbinden muss, damit das erledigt ist. Ich möchte endlich weiterprogrammieren ...
In der Arduino Software gibt es keine Standard Template Library. Was machst du also im std namespace? Es gibt eine STL Implementierung von Andy Brown, aber die ist nicht mehr zu neueren Versionen kompatibel.
Der Arduino inkludiert die Core Libraries wie String.h schon automatisch. Auch daran denken, dass das auf dem Arduino "String" heißt und nicht "string"
Serenifly:
std::string ist kein Arduino Code. Auf dem Arduino gibt keine C++ Standard (Template) Library
So oder so ist es übrigens keine gute Idee Objekte per value zu übergeben
Anscheinend stehe ich tierisch auf dem Schlauch. Vielleicht stolpere ich auch nur über eine Arduino-Spezialität.
Ich schreibe gerade eine Bibliothek zu meinem neuen Spielzeug (ein OLED-Display, Foto hier). Im Header der Bibliothek möchte ich eine Funktion deklarieren, die einen String bekommen soll. Also schreibe ich dort
Wenn ich diesen Header nun in meinem Arduino-Programm einbinde, bekomme ich die Meldung
In file included from test.ino:1:0:
/home/gszaktilla/sketchbook/libraries/bla/bla.h:102:31: error: 'String' has not been declared
void text(uint8_t, uint8_t, String, bool i=false);
^
Fehler beim Kompilieren.