$typedAddress/de

From Free Pascal wiki
Jump to navigationJump to search

Deutsch (de)

Zurück zu den lokalen Compilerdirektiven

$TYPEDADDRESS und $T

  • Die Compilerdirektive $TYPEDADDRESS und $T sind in Ihrer Verwendung Synonym.
  • Die Compilerdirektive $TYPEDADDRESS, legt fest, ob der Operator @ (Adressoperator) einen typisierten oder einen untypisierten Pointer zurück gibt.
  • Die Compilerdirektive $T kennt zwei Schalter + und -.
  • Die Compilerdirektive $TYPEDADDRESS kennt zwei Schalter ON und OFF.

Beispiel für einen Fehler:

{$T+}  // schaltet den typisierten Pointer ein

var
  I : Integer;
  P : PChar;

begin
  P := @I;
  // Der Compiler gibt folgende Fehlermeldung aus:
  // … : Incompatible types: got "^SmallInt" expected "PChar"
end

In der Standardeinstellung übergibt der Adressoperator einen untypisierten Pointer.

Beispiel:

{$T-}  // Die Standardeinstellung schaltet den typisierten Pointer aus

var
  I : Integer;
  P : PChar;

begin
  P := @I;
  // Der Compiler gibt keine Fehlermeldung aus
end
— Olaf (talk) 09:05, 25 January 2013 (UTC)