Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Warum gibt es kein VOID in Delphi? (https://www.delphipraxis.net/144788-warum-gibt-es-kein-void-delphi.html)

himitsu 16. Dez 2009 18:19


Warum gibt es kein VOID in Delphi?
 
Ich höre/lese immer wieder, daß es in Delphi kein Equivalent zu VOID existieren soll.

Warum ist das so?


VOID ist ja von der Definition her ein 0-Byte großer (Dummy)Typ.

Und demnach würde er ja einem leeren Record entsprechen. :gruebel:
Delphi-Quellcode:
type VOID = record end;
  PVOID = ^VOID;

Neutral General 16. Dez 2009 18:21

Re: Warum gibt es kein VOID in Delphi?
 
Wofür sollte void gut sein? In anderen Sprachen braucht man void doch nur (wenn ich mich nicht täusche) für proceduren.

Matze 16. Dez 2009 18:22

Re: Warum gibt es kein VOID in Delphi?
 
Wozu soll man in Delphi ein VOID benötigen? Es gibt ja, im Gegensatz zu anderen Programmiersprachen, Prozeduren und Funktionen. Daher braucht man kein VOID, wenn man nichts zurückgeben möchte, sondern eine Prozedur. Fertig.

Oder worauf willst du hinaus? :gruebel:
Ich habe das in Delphi nie vermisst.


Edit: Der Herr General war schneller. ;)

Alloc 16. Dez 2009 18:26

Re: Warum gibt es kein VOID in Delphi?
 
Void dient nicht nur als leerer Rückgabetyp, sondern zb auch für unbekannte Parameterlisten, bzw generell unbekannte Übergabetypen. Von daher ist die Frage denk ich schon berechtigt ;)

mirage228 16. Dez 2009 18:27

Re: Warum gibt es kein VOID in Delphi?
 
Zitat:

Zitat von Alloc
Void dient nicht nur als leerer Rückgabetyp, sondern zb auch für unbekannte Parameterlisten, bzw generell unbekannte Übergabetypen. Von daher ist die Frage denk ich schon berechtigt ;)

Delphi kennt ja typenlose Parameter und array of const beispielsweise ;)

Neutral General 16. Dez 2009 18:29

Re: Warum gibt es kein VOID in Delphi?
 
typenlose Parameter:

Delphi-Quellcode:
procedure Irgendwas(var Parameter);
begin
  //
end;
funktioniert allerdings nur mit Variablen. Ansonsten : Variant

himitsu 16. Dez 2009 18:44

Re: Warum gibt es kein VOID in Delphi?
 
Zitat:

Zitat von Neutral General
funktioniert allerdings nur mit Variablen. Ansonsten : Variant

Delphi-Quellcode:
procedure Irgendwas(const Parameter);
nja, es geht generell einfach mal um "halbwegs" identische Übersetzungen zwischen Delphi und C.

für mich persönlich versuche ich zwar meistens alles soweit wie möglich beim übersetzen auf Delphi-Standard und dessen Möglichkeiten umzubiegen, aber manchmal ist sowas halt nicht möglich.

Neutral General 16. Dez 2009 18:47

Re: Warum gibt es kein VOID in Delphi?
 
Die identischste Übersetzung von void ist in den meisten Fällen, wie gesagt, einfach procedure

hoika 16. Dez 2009 18:56

Re: Warum gibt es kein VOID in Delphi?
 
Hallo,

Delphi-Quellcode:
type VOID = record end;
  PVOID = ^VOID;
Pointer oder PChar.

Unbekannte Parameter per void ?
Habe ich noch nie gesehen.

*void

OK; wäre aber auch ein Pointer.


Heiko

Prototypjack 16. Dez 2009 19:19

Re: Warum gibt es kein VOID in Delphi?
 
Zitat:

Zitat von hoika
Unbekannte Parameter per void ?
Habe ich noch nie gesehen.

Naja void ist doch ein untypisierter Pointer (gibt's Void-Typen, also keine Pointer?). Wenn mich nicht alles täuscht, dann wäre doch sogar der Rückgabeparameter von malloc ein void-Pointer, oder?

Grüße,
Max


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz