Warum wird der typisierte Adressoperator nicht angewendet, wenn die Adresse eines String-Elements genommen wird?

9

Dieses Programm

%Vor%

kompiliert. Ich würde erwarten, dass mit {$T+} eine der Zuweisungen vom Compiler abgelehnt worden wäre. Im modernen Unicode Delphi würde ich erwarten, dass die erste Zuweisung ungültig ist.

Die Dokumentation zu typgeprüften Zeigern lautet:

  

Wenn @ auf eine Variablenreferenz im Status {$T+} angewendet wird, lautet der Typ des Ergebnisses ^T , wobei T nur mit Zeigern auf den Typ der Variablen kompatibel ist.

Warum scheint die Verwendung von typisierten Adressen nicht für den obigen Code zu gelten?

    
David Heffernan 18.09.2017, 08:17
quelle

0 Antworten

Tags und Links