Arduino Programm bleibt bei Aufruf von virtueller Methode über einen Zeiger stehen. Warum?

... komplette Frage anzeigen

2 Antworten

Hab den Fehler gefunden. War ziemlich blöd ^^

Die Objekte auf die die Pointer im Array gezeigt haben, hatten nur den Gültigkeitsbereich einer Methode. Danach wurden sie wieder aus dem Speicher entfernt. ^^

Ich habe von Arduino zwar keine Ahnung, aber ich kenne mich mit C++ aus (Das ist ja offensichtlich die Programmiersprache, die du hier verwendest).

Also von dem her was du gepostet hast, sollte es theoretisch funktionieren. Die möglichen Fehlerquellen sind in dem Code, den du nicht gepostet hast:

- Wurde das Array worker initialisiert? Also sind wirkliche worker-Objekte drin, die du erzeugt hast?
- Bist du sicher, dass es genau bei dem Aufruf stehenbleibt? Eventuell besteht ein Problem im Code von einem worker-Objekt.

Der Aufruf an sich ist genau so, wie er in C++ gemacht wird. Das scheint also eigentlich schon richtig zu sein.

Kommentar von Aerger9
24.06.2016, 09:47

Auf deinen Hinweis hin, ob die Objekte wirklich erzeugt wurden, bin ich den Code nochmal durchgegangen und habe den Fehler gefunden.

0

Was möchtest Du wissen?