(void)0 ???????????
-
Hallo,
kann mir jemand sagen was das soll? Ich programmiere zur Zeit mit LUA und versuche zu verstehen was die einzelenen Anweisungen machen (lua_open,....)
dabei bin ich im code auf
#ifndef lua_lock #define lua_lock(L) ((void) 0) #endif
gestoßen
Was ich weiß....
hier winrd ein Makro definiertlua_lock(L)
und überall wo das steht wird
dann((void)0)
stehen.
Bedeutet das einen Zeiger=NIL (...Deplhi...) zu setzen?
Oder wofür kann ich das noch benutzen?
Gruß
Franky
-
Was soll den LUA sein?
-
Jochen, lua ist eine scriptsprache die man gerne dazu verwendet seine anwendung scriptbar zu machen,
Frank, ((void)0) ist ein leeres statement. Es könnte genausogut nur ; dort stehen oder garnichts. Der trick an dem ((void)0) ist lediglich, dass man ein ; danach erzwingt.
So dass niemand
lua_lock()foo();
schreiben kann und dann, wenn lua_lock doch etwas anderes ist (eben zB wirklich lockt) syntaxfehler zu produzieren.
-
@Shade of mine: Und was hat das dann mit WinAPI zu tun?
Naja, und der Haupt-Trick besteht wohl darin, dass die Funktion auf tatsächlich was "zurück" gibt...
-
Dieser Thread wurde von Moderator/in Jochen Kalmbach aus dem Forum WinAPI in das Forum Rund um die Programmierung verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
für die Antwort, ich werde das nächste mal darauf achten den Thread im richtigen Forum aufzumachen.
Gruß
Frank