Function Byte-Array übergeben

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Der Eisvogel

Betreff: Function Byte-Array übergeben

BeitragMi, Sep 08, 2010 18:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Ich verzweifele grade an ein einer einfach Byte-Array übergabe an ein Funktion. Folgender Code gibt immer ein "Unable to convert from 'Byte Array' to 'Byte Aray'" aus:
BlitzMax: [AUSKLAPPEN]
Test(New Byte[3, 7, 2, 3, 4, 1, 4, 3, 7, 5], 10)

Function Test(arr:Byte[], size:Int)
For Local i:Int = 0 Until size
Print arr[i]
Next
End Function


Mit einem Int-Array klappt alles wunderbar. Das ist bestimmt ein doofer Fehler von mir, aber ich komme nicht drauf.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

mpmxyz

BeitragMi, Sep 08, 2010 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Autoarrays funktionieren leicht anders:
BlitzMax: [AUSKLAPPEN]
Test([3:Byte, 7:Byte, 2:Byte, 3:Byte, 4:Byte, 1:Byte, 4:Byte, 3:Byte, 7:Byte, 5:Byte], 10)

Function Test(arr:Byte[], size:Int)
For Local i:Int = 0 Until size
Print arr[i]
Next
End Function

mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

BladeRunner

Moderator

BeitragMi, Sep 08, 2010 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
... und size ist ein unnötiger Parameter, Arrays haben ihre Größe mit an Bord: array.length
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

Der Eisvogel

BeitragMi, Sep 08, 2010 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, cool. Danke euch beiden.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

FireballFlame

BeitragDo, Sep 09, 2010 4:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Und noch zur Erklärung der Fehlermeldung:
Was du gemacht hast, ist ein 10-dimensionales (leeres) Byte-Array. Deine Funktion erwartet aber eben nur ein eindimensionales Wink
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Der Eisvogel

BeitragDo, Sep 09, 2010 8:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne, das ist nur eindimensional, da es ein Auto-Array ist. Das kann man so machen.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

FireballFlame

BeitragDo, Sep 09, 2010 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Autoarray wird es aber nur so, wie mpmxyz geschrieben hat.
Code: [AUSKLAPPEN]
[Zahlen]

Wenn du
Code: [AUSKLAPPEN]
New Byte[Zahlen]
machst, dann gibst du mit den Zahlen die Anzahl und Größe der einzelnen Dimensionen an Wink
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit

Der Eisvogel

BeitragDo, Sep 09, 2010 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach so meinte Fireball das. OK, sorry hatte das falsch verstanden.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group