|
|
Methode gibt Too many Input Arguments zurück |
|
marco-f |
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 20.01.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.01.2015, 15:12
Titel: Methode gibt Too many Input Arguments zurück
|
|
Hallo,
Ich bin momentan etwas am verzweifeln mit Matlab und OOP.
Folgendes Problem:Matlab gibt mir zurück, dass ich zuviele Variablen eingebe, was aber grober Unsinn ist. Jetzt verstehe ich nicht was das Problem ist. Folgender Code:
Ausgabe:
Zitat: |
??? Error using ==> AddOntime
Too many input arguments.
Error in ==> test at 3
BeleuchtungsPlan.AddOntime(BeleuchtungsPlan,1,2) |
Wo ist das Problem?
Vielen Dank schonmal
Marco
|
|
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 20.01.2015, 15:43
Titel:
|
|
Hallo
du übergibst 2 Mal die Instanz "BeleuchtungsPlan"
Objektinstanz wird automatisch über die Verlinkung übergeben obj.methode(inputparam) das entspricht dann schon methode(obj, inputparam)
|
|
|
marco-f |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 20.01.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.01.2015, 16:13
Titel:
|
|
Danke für die Antwort.
Erstmal zum Verständnis: "obj" kann ich innerhalb einer Funktion immer nutzen, und das ist dann automatisch das Objekt per dem ich die Methode ausgeführt habe?(Wie "this" in Java?) M-Lint hat mir einen Fehler ausgegeben, weshalb ich den etwas eigensinnigen Syntax wählte.
Wenn ich die Eingabe von obj weglasse bekomme ich leider den selben Fehler angezeigt:
+
Zitat: |
=
??? Error using ==> AddOntime
Too many input arguments.
Error in ==> test at 3
BeleuchtungsPlan.AddOntime(1,2)
>> |
Noch eine andere Idee? Ich meine der Code ist so einfach sturukturiert, ich komme einfach nicht drauf was da falsch seien könnte.
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 20.01.2015, 18:20
Titel:
|
|
Hallo
ich habe nicht gemeint dass du die Methode in der Klasse ändern sollst, die war schon richtig. Ich meinte nur den Aufruf, hier ist genauso wie in JAVA wird die Instanz der Klasse über Punkt Verlinkung übergeben.
THIS ist ja in Java ein reserviertes Wort, deswegen auch global in der Klasse verfügbar.
In Matlab wurde das anders gelöst: In der Mehode ist immer der erste Parameter für die Klasseninstanz reserviert, also muss man THIS immer im Funktionskopf zusätzlich mitschreiben, obwohl bei Aufruf wird der Parameter über Verlinkung automatisch übergeben und muss nicht nochmal extra übergeben werden.
also z.B.
Dann Aufruf wäre um radius zu setzten
Aber man kann im Matlab auch so die Klassenmethode aufrufen
Also entweder über Verlinkung oder wie normaler Funktionaufruf, aber nicht beides gleichzeitig.
|
|
|
marco-f |
Themenstarter
Forum-Newbie
|
|
Beiträge: 6
|
|
|
|
Anmeldedatum: 20.01.15
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.01.2015, 19:29
Titel:
|
|
Vielen Dank, jetzt klappts.
Man man man was ich daran gesessen habe ...
Da fällt mir ein Stein vom Herzen.
Vielen Dank nochmal, super Hilfe. Würde dir gerne ein like geben, gibts hier im Forum aber irgendwie nicht.
Erleichterte Grüße
Marco
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|