[fpc-pascal] Error: Can't take the address of constant expressions
patspiper
patspiper at gmail.com
Wed Sep 26 10:00:31 CEST 2012
On 26/09/12 08:58, Vincent Snijders wrote:
> 2012/9/25 Bernd<prof7bit at gmail.com>:
>> 2012/9/25 patspiper<patspiper at gmail.com>:
>>> procedure test;
>>> begin
>>> Move(MyClass1.Ref.Data^, MyClass2.Ref.Data^, 1);
>>> end;
>> and if you cast it to some other pointer type before dereferencing the
>> error goes away:
>>
>> procedure test;
>> begin
>> Move(MyClass1.Ref.Data^, PByte(MyClass2.Ref.Data)^, 1);
>> end;
>>
>> But this should not be necessary.
> Why not? The error is correct. By using the type cast you tell the
> compiler you know what you are doing and that is should not bother
> doing the sanity check.
>
> So IMO, not a bug.
Can anybody test under Delphi? The complete unit is in the OP.
Stephano
More information about the fpc-pascal
mailing list