AW: Pointer: Zirkumflex Frage
Also ist es wirklich nur sehr beschränkt implementiert und nicht so generisch wie in C?
uff, (beschäftige mich seit 2 Tagen mit Delphi) also manche Dinge stören mich echt erheblich an Object-Pascal und andere, sinnvolle Features vermisse ich sehr, bei denen ich nie gedacht hätte, dass so etwas in einem (halbwegs) aktuellen Delphi-Compiler fehlen würde.. Naja, danke für die Antworten |
AW: Pointer: Zirkumflex Frage
Hallo,
Zitat:
Delphi-Quellcode:
Kompatible Typen bei der Verwendung von Prozedurparametern erreicht man, wenn für die Typvereinbarung ein Name eingeführt wird, der auf beiden Seiten - beim Aufruf und bei der aufgerufenen Routine - verwendet wird.
var
a: ^Byte; b: ^Byte; begin a := b; // Fehler: inkompatible Typen end; Gruß Hawkeye |
AW: Pointer: Zirkumflex Frage
Was die Typdeklaration angeht, kann ich mich erinnern, daß zuerst alle "Namen" gesammelt werden, und dann erst diesen Namen die entsprechenden Typen zugewiesen werden.
also ungefähr so:
Delphi-Quellcode:
Wenn man es mit dem zweiten Konstrukt versucht, bekommt man sofort die Meldung "Bezeicher erwartet" um die Ohren gehauen.
Type
prec =^rectyp; rectyp = record..........end; rec =^record..........end; rectyp = record..........end; Was eigentlich hinreichend genau ist, ein Pointer weist immer auf einen beliebigen Typen hin. Die sog. Typisierung ist eigentlich nur ein Schmankerl um ein paar Fehler zu vermeiden. Für ein funktionierendes Programm ist so etwas durchaus ausreichend:
Delphi-Quellcode:
aber so ist es etwas einfacher:
Type
TListenelement = record Daten : irgendwas; next : pointer; last : pointer; end; var ErstesElement, LetztesElement, AktuellesElement : pointer;
Delphi-Quellcode:
Edith:
Type
PListenelement = ^TListenelement; TListenelement = record Daten : irgendwas; next : PListenelement; last : PListenelement; end; var ErstesElement, LetztesElement, AktuellesElement : PListenelement; und dereferenzieren kann ich immer noch mit allen möglichen Typen! Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 Uhr. |
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