STATIC var# nicht als Functions Name nutzbar??

Previous topic - Next topic

D2O

Hi,
mir ist gerade aufgefallen, wenn ich in einer Function
ein, z.B. STATIC test habe, ich diesen Nmen nicht mehr als Functionsnamen
nutzen kann.
Da hagelts Fehlermeldungen ;)

Wenn ich aber denn Variablen Namen "test" für eine Globale Variable zusätzlich nutze
gehts.

BUG oder gehört sich das so?
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Kitty Hello


Schranz0r

Nach Gernot seinen Worten zu urteilen:

glaub net :D
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

D2O

Hab ich auch so Interpretiert ;)

So was kommt an sich eigendlich auch nicht vor, bzw. macht man nicht.
Mir ist das halt aufgefallen als ich den "fps code" von Hemlos getestet habe.
Er hat seine Function fps() getauft und ich hatte in einem Tempalte ne Statische variable mit fps,
und schwubs, da hat der Compiler gemosert :)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Quentin

hmm sollte aber eigentlich nicht sein. Die statische Variable sollte ja nur innerhalb der Funktion/SUB bekannt sein (wie LOCAL), wenn ich das richtig verstehe.

Es sei denn, das Teil wird dann doch wie ein GLOBAL gehandhabt ;)

D2O

@ Quentin,
Du hast schon recht, es sollte eine Globale Variable abgekappselt, nur gültig in der funktion, sein.

Edit// Hmmm, das Board ist heute aber verdammt langsam.
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Kitty Hello

Es hat nichts mit static zu tun, sondern mit der Reihenfolge. Steht eine funktion mit gleichem Namen über der local/global/static variable, dann macht er dort keine neue Variable.
Also eigentlich sollte es einen Fehler geben, dass die funktion ohne () verwendet wird. Kommt aber nicht.
Ich seh' mal nach warum.