ReLor:
Hallo.
Ich benötige eine Funktion welche flexiebel ein strukturiertes array als parameter erhält. Diese übergebene Struktur soll jedoch unterschiedlich sein, damit ich die Funktion für verschiedene arrays nutzen kann.
Der Aufruf der Funktion führt zur Fehlermeldung "parameter conversion not allowed"
Was mache ich falsch oder geht das so gar nicht und wenn es nicht geht gäbe einen alternativen Weg zum Ziel zu kommen?
Danke euch!
Wie die Fehlermeldung "parameter conversion not allowed" sagt geht es nicht. Du könntest höchsten eine Struktur definieren, die beide umfasst und dann ein Funktion für den einen und eine für den anderen Teil.
Hallo.
Ich benötige eine Funktion welche flexiebel ein strukturiertes array als parameter erhält. Diese übergebene Struktur soll jedoch unterschiedlich sein, damit ich die Funktion für verschiedene arrays nutzen kann.
Der Aufruf der Funktion führt zur Fehlermeldung "parameter conversion not allowed"
Was mache ich falsch oder geht das so gar nicht und wenn es nicht geht gäbe einen alternativen Weg zum Ziel zu kommen?
Danke euch!
schade, das bläht den Code dann unnötig auf aber wenn es nicht geht, sind das halt die Grenzen in denen man die Dinge wohl akzeptieren muss.
Wenn ich das auf eine Strukturbegrenze erhalte ich aber dennoch den gleichen Fehler.
Wenn ich es so versuche
Wenn ich es wieder ohne "my_struct2" versuche erhalten ich wieder "parameter conversion not allowed"
Was mache ich falsch?
Wenn ich das auf eine Strukturbegrenze erhalte ich aber dennoch den gleichen Fehler.
//Aray2 struct my_struct2 { int anotherfield1; double anotherfield2; string anotherfield3; } my_struct2 my_array2[]; //Flexible Funktion int my_array_function(my_array2){ //tu was return 0; }Mache ich da sonst noch was falsch?
Wenn ich es so versuche
//Aray2 struct my_struct2 { int anotherfield1; double anotherfield2; string anotherfield3; } my_struct2 my_array2[]; //Flexible Funktion int my_array_function(my_struct2 my_array2[]){ //tu was return 0; }erhalte ich den Fehler "'my_struct2' - objects are passed by reference only"
Wenn ich es wieder ohne "my_struct2" versuche erhalten ich wieder "parameter conversion not allowed"
Was mache ich falsch?
Hab glaub ich gerade des Rätsels Lösung gefunden.
int my_array_function(my_struct2 & my_array2[]){ //tu was return 0; }
Die Übergabe eines "undefinierten" Objekts geht mit Pointer und Vererbung.
Du kannst eine Pointer-Variable einer Basisklasse als Parameter der Funktion nutzen.
Dann übergibst du einen Pointer auf ein abgeleitetes Objekt an die Funktion.
Polymorphie übernimmt dann die Auflösung der Objekte nach ihren tatsächlichen Typen zur Laufzeit.
So geht das dann sehr wohl. Zumindest so weit mir bekannt.
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich benötige eine Funktion welche flexiebel ein strukturiertes array als parameter erhält. Diese übergebene Struktur soll jedoch unterschiedlich sein, damit ich die Funktion für verschiedene arrays nutzen kann.
Der Aufruf der Funktion führt zur Fehlermeldung "parameter conversion not allowed"
Was mache ich falsch oder geht das so gar nicht und wenn es nicht geht gäbe einen alternativen Weg zum Ziel zu kommen?
Danke euch!