Folgedes Problem: Ich möchte einen code, der unter Processing tadellos läuft auf einem Arduino laufen lassen. Komischer Weise kommt bei der Class, die ich definiere Fehler, die ich nicht verstehe. Warum bei Arduino Fehler und bei Processing nicht? Hier der Code: Cell[][] cell = new Cell[20][20]; //... class Cell { int x, y, v, h, farbe, sample; Cell(int x, int y, int v, int h, int farbe, int sample){ this.x = x; this.y = y; this.v = v; this.h = h; this.farbe = 0; this.sample = 0; } void setFarbe(int neueFarbe){ this.farbe = neueFarbe; } void setSample(int sample){ this.sample = sample; } void toggle_play(){ if(this.farbe != 1) this.farbe = 1; else this.farbe = 0; } }
und hier einige der Fehlermeldungen: error: expected constructor, destructor, or type conversion before 'cell' error: 'cell' was not declared in this scope error: expected type-specifier before 'Cell'
Wird Arduino nicht in C++ programmiert? Der gepostete Code ist nämlich Java. Davon wird wohl auch der Fehler stammen. MfG Mark
habu schrieb: > Warum bei Arduino Fehler und bei Processing nicht? Das ist kein reproduzierbares Beispiel. Wie soll man da den Fehler finden?
nein, Arduino wird mit einer sehr ähnlichen IDE geschrieben wie Processing. Und auch in Java. Die Unterschiede sind in der draw() repektive loop() Funktion und natürlich diversen Funktionen, die sich nur auf die Fensterumgebung beziehen, wie size() für die Fenstergrösse oder stroke() für die Farbwahl. und es gibt den Dateityp color nicht... Also ein paar Unterschiede bestehen schon, aber es ist sehr, sehr ähnlich. Nur class macht da wohl einen weiteren Unterschied. :(
Marwin schrieb: > Das ist kein reproduzierbares Beispiel. Wie soll man da den Fehler > finden? Der folgende Code ist reproduzierbar. So in Arduino gepastet und es sollte laufen. So kommen auch alle Fehler, die mir zu schaffen machen... Cell[][] cell = new Cell[20][20]; void loop(){ cell[1][1].setFarbe(2); } class Cell { int x, y, v, h, farbe, sample; Cell(int x, int y, int v, int h, int farbe, int sample){ this.x = x; this.y = y; this.v = v; this.h = h; this.farbe = 0; this.sample = 0; } void setFarbe(int neueFarbe){ this.farbe = neueFarbe; } void setSample(int sample){ this.sample = sample; } void toggle_play(){ if(this.farbe != 1) this.farbe = 1; else this.farbe = 0; } }
habu schrieb: > nein, Arduino wird mit einer sehr ähnlichen IDE geschrieben wie > Processing. Und auch in Java. Moment. Vielleicht sollten wir erst mal klären, was du unter 'Arduino' bzw. 'Processing' verstehst. Die meisten (die übrigens nicht Arduino programmieren), sehen das wahrscheinlich so wie ich: 'Arduino' der Teil deines Gesamtsystems, welcher am µC läuft 'Processing' der Teil deines Gesamtsystems, welcher am PC läuft Wenn das so stimmt ('Arduino' - µC; 'Processing' - PC), dann stimmt deine Aussage definitv nicht. Es sei denn, es gibt seit neuestem eine Java-Runtime für die Arduino Hardware. Aber meines Wissens wird der µC-Teil beim Arduino System immer noch in C++ programmiert.
habu schrieb: > nein, Arduino wird mit einer sehr ähnlichen IDE geschrieben wie > Processing. Und auch in Java. The Arduino language (based on Wiring) is implemented in C/C++, and therefore has some differences from the Processing language, which is based on Java. http://arduino.cc/en/Reference/Comparison
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.