Danke für den Hinweis, da hatte ich im Kopf mächtig was verdreht.
In meinem Beispiel wird eben nicht mit 'new' und Referenz gearbeitet. Daher fällt natürlich auch das Dereferenzieren weg.
Habs korrigiert.Code:Foo myFoo(); myFoo.foobar(); // ohne Anwendung, nur zur Veranschaulichung: Foo* myFooPtr = &myFoo; // Referenz erzeugen myFooPtr->foobar(); // indirekter Zugriff
Hey Sisor, und wieder herzlichen Dank für das Tutorial! Ich werde es nutzen um meine rudimentären C-Kenntnisse endlich auf rudimentäre C++-Kenntnisseaufzustocken wenn ich mal wieder Zeit für den Arduino hab'...
Kein Problem, ich hatte mich mit dem Thema gerade beschäftigt und dachte, ich fass das Gelernte mal für mich und andere zusammen. Interessant ist, dass jedes der 5 Programme (Schritt 2 - 6) die gleiche Funktionalität aufweist. Je komplexer ein Programm wird, desto mehr macht eine modulare, objektorientierte Herangehensweise Sinn.
D:\Eigene Dateien\Arduino\libraries\RGBLed\RGBLed.cpp:9:6: error: prototype for 'void RGBLed::setRGB(int, int, int)' does not match any in class 'RGBLed'
void RGBLed::setRGB(int r, int g, int b) {
^
In file included from D:\Eigene Dateien\Arduino\libraries\RGBLed\RGBLed.cpp:1:0:
D:\Eigene Dateien\Arduino\libraries\RGBLed\RGBLed.h:15:7: error: candidate is: void RGBLed::setRGB(byte, byte, byte)
void setRGB(byte r, byte g, byte b) ;
^
Fehler beim Kompilieren.
Der Compiler sagt dir doch eh schon wo das Problem liegt
Im header File (.h) ist setRGB(byte r, byte g, byte b); mit bytes definiert. Im .cpp ist gibts die Funktion aber nur mit ints als Parameter ausprogrammiert. Das ist vermutlcih einfach ein Copy&Paste Fehler des Autors, ändere die ints zu bytes und es sollte funktionieren.
Vielen Dank für die Rückantwort.0
Habe das bereits geändert so ´dass der Funktionsrumpf und die Implementierung über Byte arbeiten.
Wollte gerne noch bei meinem Projekt in die CPP-Datei die IRremote.h einbinden.
Wo kann man dazu noch was finden?
Derzeit kommt das dabei raus:
--------------
IRControl.cpp:1:22: fatal error: IRremote.h: No such file or directory
#include <IRremote.h>
^
compilation terminated.
Fehler beim Kompilieren.
--------------
Meine Klasse soll IRControl heißen und Steuercodes auf den Seriellen Monitor bzw. einen INT-Wert zurückgeben.
Hatte da schon ein Programm fertig, welches ich jetzt mit diesen Tutoriell in eine Klasse stecken möchte.
Lesezeichen