Compile Error: Expression of type 'Double' cannot be invoked
Übersicht BlitzMax, BlitzMax NG
 BlitzMax, BlitzMax NG  Beginners-Corner
 Beginners-Corner|   | s_m_wBetreff: Compile Error: Expression of type 'Double' cannot be invoked |  Fr, Dez 19, 2008 17:08 Antworten mit Zitat   | 
|---|---|---|
| Moin, Ich bekomme diesen für mich unverständlichen Error und kann mir keinen Reim daraf machen. Hier mal die entsprechenden Codezeilen (Compiler sagt Fehler liegt bei 180:6, was der Anfang des ifs ist) Code: [AUSKLAPPEN] ... If ( IsIn( TargetR(Self,Self.Target) ,Self.R-2,Self.R+2) ) ... endif ... Code: [AUSKLAPPEN] Function TargetR:Double(Ship1:Ship,Ship2:Ship)
 Return ATan2(Ship1.Y-Ship2.Y,Ship1.X-Ship2.X)-90 End Function Function IsIn:Int(Value:Double,MinVal:Double,MaxVal:Double) If Value > MinVal If Value < MaxVal Return 1 EndIf EndIf Return 0 End Function Self und Self.Target sind beides Objekte vom Typ Ship, IsIn und TargetR funktionieren auch wunderbar. Danke im Vorraus! | ||
| Sheep Happens | ||
- Zuletzt bearbeitet von s_m_w am Fr, Dez 19, 2008 18:16, insgesamt einmal bearbeitet
|   | D2006Administrator |  Fr, Dez 19, 2008 17:53 Antworten mit Zitat   | 
|---|---|---|
| Welchen Datentyp hat Self.R bzw. Ship.R EDIT: ehe sich das hier stundenlang hinzieht... Falls dieses R kein Double ist, sondern zB ein Float, musst du es wohl erst explizit casten. | ||
| Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 | ||
|   | s_m_w |  Fr, Dez 19, 2008 18:13 Antworten mit Zitat   | 
|---|---|---|
| R ist ein Double | ||
| Sheep Happens | ||
|   | BtbN |  Fr, Dez 19, 2008 19:09 Antworten mit Zitat   | 
|---|---|---|
| Code:  [AUSKLAPPEN] If ( IsIn( TargetR(Self,Self.Target) ,Self.R-2,Self.R+2) ) -> Code: [AUSKLAPPEN] If IsIn(TargetR(Self,Self.Target), Self.R-2, Self.R+2) Then Würde ich schätzen. | ||
|   | Geeecko |  Fr, Dez 19, 2008 19:18 Antworten mit Zitat   | 
|---|---|---|
| Ist das selbe. Fals mir jetzt nichts besonderes aufgefallen ist. | ||
|   | FOODy |  Fr, Dez 19, 2008 19:25 Antworten mit Zitat   | 
|---|---|---|
| Hi, s_m_w. "Compile Error: Expression of type 'Double' cannot be invoked" bedeutet, dass du versuchst ein, in diesem Fall, Double-Wert wie eine Funktion aufzurufen. "IsIn" oder "TargetR" ist in dem Ship-Type (Oder des Super-Types) nicht zufällig als Field, Global oder Const definiert? Grüße, FOODy | ||
| BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB | ||
|   | s_m_w |  Fr, Dez 19, 2008 19:51 Antworten mit Zitat   | 
|---|---|---|
| TargetR ist tatsächlich auch ein Field.. Okay, geht jetzt, danke für die Hilfe   | ||
| Sheep Happens | ||
Übersicht
 BlitzMax, BlitzMax NG
 BlitzMax, BlitzMax NG  Beginners-Corner
 Beginners-Corner
					Powered by phpBB © 2001 - 2006, phpBB Group
				



