Difference between revisions of "$typedAddress/de"
From Lazarus wiki
Jump to navigationJump to searchm |
m (take note of move) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{$typedAddress}} |
<br> | <br> | ||
Zurück zu den [[local compiler directives/de|lokalen Compilerdirektiven]] | Zurück zu den [[local compiler directives/de|lokalen Compilerdirektiven]] |
Latest revision as of 16:18, 5 March 2023
│
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 09:05, 25 January 2013 (UTC)