function pointer
Übersicht

![]() |
beanage.johannesBetreff: function pointer |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo freunde der nacht ![]() ich habe versucht (vergeblch) function pinter in einen array zu drücken. aber irgendwas will da nicht (suche habe ich benutz aber nichts gefunden) Code: [AUSKLAPPEN] Function f1:String(str:String) Return str:String EndFunction Function f2:Int(num:Int) Return num:Int EndFunction Global array[2] Local f1p:String(str:String) f1p = f1 Local f2p:Int(num:Int) f2p = f2 array[0] = f1p array[1] = f2p i:Int = Int(Input(":")) Print array[i] (Int(9)) danke |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Meines Wissens die einzige Möglichkeit Funktionszeiger unterschiedlicher Signatur in ein Array zu bringen ist es sie in Byte Ptr bzw. Int zu casten und umgekehrt wieder in den entsprechenden Funktionszeiger zu konvertieren: Code: [AUSKLAPPEN] Global array:Byte Ptr[2]
array[0] = Byte Ptr(f1) array[1] = Byte Ptr(f2) Local i:Int = Int(Input(":")) Local myfunc1:String(str:String) = array[0] Print myfunc1(i) Local myfunc2:Int(num:Int) = array[1] Print myfunc2(i) Wenn sie aber die gleiche Signatur haben kann man sowas machen: Code: [AUSKLAPPEN] Function f1:Int(num:Int)
Return num + 1 EndFunction Function f2:Int(num:Int) Return num - 1 EndFunction Global array:Int(num:Int)[2] array[0] = f1 array[1] = f2 Print array[0](1) Print array[1](1) |
||
![]() |
beanage.johannes |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke | ||
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und gewöhn dir an, deinen Code SuperStrict zu schreiben. Damit hättest du eine passende fehlermeldung erhalten. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group