Arrays Übergabe und als Funktionsparameter
Übersicht

![]() |
FlushBetreff: Arrays Übergabe und als Funktionsparameter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Leute,
ich beschäftige mich seit einiger Zeit mit Funktionen und Arrays. Das HAndling jedes einzelnen ist kein Problem, wenn es aber darum geht Arrays an Funktionen zu übergeben und Arrays dann als Funktionsparameter zu nutzen habe ich so meine Probleme. In der Tutorialsektion gibt es sehr viele Artike zu Types aber bei Arrays sieht es dürftig aus. Arrays sind in B3D zwar standardmäßig gglobal aber in bestimmten Fällen spart bdas Übergeben eines Arrays an eine Funktion einfach Zeit. In meinem Fall möchte ich 3 verschiedene Arreis mit den Werten der ersten 180 Grad vom Sinus füllen und diese mit den Faktoren 250, 25 und 10 multiplizieren. Ich bekomme aber ständig einen: Error:Illegal Type Conversion! ![]() Könnt Ihr mir da weiterhelfen? ![]() Hier mal mein Quellcode: Code: [AUSKLAPPEN] Dim arr_Sin_1(180) Dim arr_Sin_2(180) Dim arr_Sin_3(180) calcSine(250 , arr_Sin_3(180)) calcSine(25 , arr_Sin_3(180)) calcSine(10 , arr_Sin_3(180)) Function calcSine(factor, arr[180]) Dim dummyArr(180) dummyArr(180) = arr(180) For j = 0 To 180 sinus = Sin(j)*factor dummyArr(j) = sinus Next Return 0 End Function Vielen Dank für eure Mühe vorab, Flush |
||
![]() |
Flush |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist meine Frage zu blöd ![]() ![]() Vielen Dank für eure Mühe vorab, Flush |
||
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt nur Blitzarray`s die übergeben werden können
Diese werden nicht mit Dim erstellt sondern mit local oder Global. und werden mit eckigen Klammern geschrieben etwa so... Code: [AUSKLAPPEN] ; Blitzarray definieren
Local arr_Sin_1[180] Local arr_Sin_2[180] Local arr_Sin_3[180] calcSine(250 , arr_Sin_1) calcSine(25 , arr_Sin_2) calcSine(10 , arr_Sin_3) Function calcSine(factor, arr[180]) For j = 0 To 180 sinus = Sin(j)*factor Arr[j] = sinus Next Return 0 End Function |
||
[BB2D | BB3D | BB+]
|
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du mischst Arrays (die mit dem Dim) mit BlitzArrays (die mit den eckigen Klammern). Wenn du nur BlitzArrays benutzt, klappt's mit der Übergabe als Funktionsparameter:
BlitzBasic: [AUSKLAPPEN] ; BlitzArrays werden mit Local oder Global und eckigen Klammern definiert mfG Holzchopf edit Ey, Ralli war schneller |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
- Zuletzt bearbeitet von Holzchopf am Fr, Dez 09, 2016 21:10, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Blitzarrays sind die Lösung für dein Problem.
Rallimen hat das wesentliche schon erläutert. Zitat: Ist meine Frage zu blöd oder zu kompliziert ? Vielen Dank für eure Mühe vorab, Flush Weder noch, aber nach knapp einer halben Stunde schon zu pushen ob man eine Antwort erhält ist eventuell ein wenig ... schnell geschossen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Flush |
![]() Antworten mit Zitat ![]() |
---|---|---|
Viiiiiiiiiiiiiiieeeeeelen Dank Leute ![]() Ihr seid echt die besten ![]() ![]() Ich hab schon ne Ewigkeit versucht damit klar zu kommen und jetzt funktionierts ![]() Schade dass multidimensionale also Dim Arraysn nich übergeben werden können aber es gibt ja noch BlitzMax. @BladeRunner Ja ne halbe Stunde war wenig aber ich schon am Rande eines Nervenzusammenbruchs ![]() Danke für Eure Hilfe, Flush |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Schade dass multidimensionale also Dim Arraysn nich übergeben werden können
Dim-Arrays sind ohnehin global, mir will der Sinn eines übergebens nicht einleuchten? |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Beispiel hat er ja mitgeliefert - bearbeiten beliebiger Arrays mit einer Funktion, was mit einem globalen Dim-Array nicht funktioniert. Die Blitzarrays helfen da, lassen aber in der Tat die Multidimensionalität vermissen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group