Hallo,
ich habe mich mal an die Erstellung einer Library gewagt. Bisher hat auch alles ganz gut funktioniert. Nun würde ich gerne innerhalb der Library ein zweidimensionales Array message[][] deklarieren. Leider bekomme ich folgenden Fehler:
error: cannot convert 'byte [2][3] {aka unsigned char [2][3]}' to 'byte* {aka unsigned char*}' in assignment _message = message;
Das eindimensionale Array output funktioniert ohne Probleme.
Kann mir jemand sagen wo mein Fehler liegt?
Gruß Daniel
mit Libs hab ich es nun auch nicht so, aber irgendwie kann auch dein eindimensionales array nicht funktionieren.
Der class Name DMON ist ja da.
Aber der Konstruktor fehlt und der Bereichsoperator ist falsch herum.
Und die Funktionen musste im Header nur bekannt machen, nicht nochmal hinschreiben.
Das eindimensionale Array output funktioniert ohne Probleme.
Selbst wenn das geht ist es trotzdem falsch
In C++11 kann man das einfach mit einer Initialisierungsliste beim Konstruktor erledigen:
Also Array im Header deklarieren und dann korrekt per Konstruktor initialisieren. Da Arrays aber nicht nachträglich per {} initialisiert werden können geht das nicht im Konstruktor-Körper selbst. Genau wie bei Konstanten oder Referenzen. Dafür gibt es dann das:
Sehr, sehr wichtig und viele Leute kennen das leider wohl nicht
Danke für die Antworten. Die Lösung mit dem einfachen Array hatte ich irgendwo im Netz gefunden und war erstmal froh, dass es funktioniert hat.
Habe es jetzt nach Sereniflys Methode gemacht. Ist für mich auch die verständlichste Methode.
Schöne Weihnachtsfeiertage, Gruß Daniel