Super-TYPEs

Previous topic - Next topic

Bugman

Hier habe ich mal ein Beispiel Projekt nur mit dem Fehler.
http://www.zshare.net/download/5110599f998ec7/

Ach noch etwas seltsames. Es darf kein TYPE mit dem Namen "auto" erstellt werden
sonst passiert das :

Code (glbasic) Select
_______________________________________
*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.2007.315 - 2D, WIN32
Wordcount:3 commands

compiling:
In file included from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:5,
                 from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_tempg.cpp:2:
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp_class.h:1: error: expected identifier before "auto"
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp_class.h:2: error: expected unqualified-id before '{' token
In file included from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_tempg.cpp:2:
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:6: error: ISO C++ forbids declaration of `golf' with no type
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:6: error: multiple storage classes in declaration of `golf'
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_tempg.cpp:4: error: ISO C++ forbids declaration of `golf' with no type
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_tempg.cpp:4: error: top-level declaration of `golf' specifies `auto'
In file included from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:5,
                 from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp0.cpp:1:
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp_class.h:1: error: expected identifier before "auto"
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp_class.h:2: error: expected unqualified-id before '{' token
In file included from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp0.cpp:1:
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:6: error: ISO C++ forbids declaration of `golf' with no type
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:6: error: multiple storage classes in declaration of `golf'
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp0.cpp: In function `int __GLBASIC__::__MainGameSub_()':
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp0.cpp:16: error: request for member `farbe' in `__GLBASIC__::golf', which is of non-class type `int'
In file included from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:5,
                 from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp1.cpp:1:
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp_class.h:1: error: expected identifier before "auto"
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp_class.h:2: error: expected unqualified-id before '{' token
In file included from C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp1.cpp:1:
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:6: error: ISO C++ forbids declaration of `golf' with no type
C:/DOKUME~1/Besitzer/LOKALE~1/Temp/glbasic/gpc_temp.h:6: error: multiple storage classes in declaration of `golf'
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren

Bugman

@S.O.P.M.
Ist doch normal das die Beiträge wieder hochrutschen.
Sonst hätte ich nie eine Antwort bekommen.

Schranz0r

so gehts:

Code (glbasic) Select
TYPE Auto
    hersteller
    farbe
  ENDTYPE

   GLOBAL golf AS Auto

  golf.farbe = 1
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Bugman

@Schranz0r
Bezieht sich das auf den fehler das ein TYPE nicht den Namen "auto" haben darf ?
Oder das man die Instanz eines TYPE nur in die Hauptdatei des Projekts packen darf ?

Bugman

Aber ich bin begeistert wie schnell man eine Antwort in diesen Forum bekommt.
Wenn man sich mal überlegt das es eher eine "Randgruppen" Programmiersprache ist.
Alleine das ist mir schon eine Vollversion wert.

BumbleBee

Ja und vor allem dass der GLBasic Entwickler höchstselbst fast täglich hier reinschaut  und auch immer ein offenes Ohr für Vorschläge oder Verbesserungen hat. Wo gibts das schon.  Also wenn's mal zu einem GLBasic Treffen kommt (was ich hoffe) dann gibt's für Gernot auf jeden Fall ein extra Weizen.:booze:

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Schranz0r

Jow wenn ich was seh, und helfen kann, helfe ich immer ;)

Du hast recht der Type darf nicht "auto" heissen, aber AUTO und Auto geht... Ist wohl ein C++ kommando laut Debuger oder zumindest schon vergeben... was mich durchaus wundert!

Types können meines wissens nur in der Maindatei vor der Hauptschleife, oder in einer Subdatei eingebunden werden!

In einer zusätzlichen datei kannst du übrigends so machen

SUBDATEI:
Code (glbasic) Select
TYPE Auto
Model$
Farbe
ENDTYPE

GLOBAL Autos[] AS Auto

FUNCTION SetCar: Model$, Farbe
LOCAL i AS Auto
i.Model$ = Model$
i.Farbe = Farbe
DIMPUSH Autos[],i
ENDFUNCTION

FUNCTION ShowCars:
LOCAL i, num
FOREACH i IN  Autos[]
PRINT i.Model$,num*90,10
PRINT i.Farbe,num*90,20
INC num,1
NEXT
ENDFUNCTION
MAINDATEI:
Code (glbasic) Select
SetCar("AUDI",RGB(0x00, 0x00, 0x00))
SetCar("BMW",RGB(0xff, 0x00, 0x00))

WHILE TRUE

ShowCars()

SHOWSCREEN
WEND
END
so könnte man es machen ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Quentin

Code (glbasic) Select
TYPE tRandgruppe
  sprache$
  status
ENDTYPE

GLOBAL Randgruppe AS tRandgruppe
Randgruppe.sprache$ = "GL-Basic"
Randgruppe.status = FALSE

Randgruppe.sprache$ = "Cobol und sonstiger ernsthafter Unsinn"
Randgruppe.status = TRUE
;) ok, syntaktisch unsinng, aber ich weigere mich, eine Randgruppe zu sein ;)

Schranz0r

Quote from: Quentin
Code (glbasic) Select
TYPE tRandgruppe
  sprache$
  status
ENDTYPE

GLOBAL Randgruppe AS tRandgruppe
Randgruppe.sprache$ = "GL-Basic"
Randgruppe.status = FALSE

Randgruppe.sprache$ = "Cobol und sonstiger ernsthafter Unsinn"
Randgruppe.status = TRUE
;) ok, syntaktisch unsinng, aber ich weigere mich, eine Randgruppe zu sein ;)
Sei mir nicht böse, aber whats that?
Entweder hast du hier was total falsch verstanden, oder es sollte ein Witz sein, den ich nicht verstehe....??????
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Quentin

Quote from: BugmanAber ich bin begeistert wie schnell man eine Antwort in diesen Forum bekommt.
Wenn man sich mal überlegt das es eher eine "Randgruppen" Programmiersprache ist.
Alleine das ist mir schon eine Vollversion wert.
lol Schranzor, es sollte nur ein Gag sein wegen obigem Posting von Bugman ;)

Schranz0r

dann eher so :

IF Randgruppe = True THEN GLBasic = False
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Quentin

*ggg* oder so, dann wirds klarer

Kitty Hello

Übrigens, die Idee Types mit T zu beginnen (Tauto) ist hier auch wieder gut.

Schranz0r

Also Gernot :D
Ich habe noch nie ein Tauto gesehen ;)
Spass bei Seite, noch 2 Posts dan hab ich Posting-Geburtstag, und zwar nen Runden :D
Aber wenn man Auto eingibt passts ja auch, aber Gernot sag mal, wieso ist den auto schon belegt? Hat das nen besonderen Grund?
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

[url]http://msdn2.microsoft.com/en-us/library/6k3ybftz(VS.80).aspx[/urll]

Wenn's kein Tauto gibt, dann eben TTauto. :D
Gruß aus Ingolstadt.