[fpc-pascal] Error: Can't take the address of constant expressions
Vincent Snijders
vincent.snijders at gmail.com
Wed Sep 26 07:58:47 CEST 2012
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.
Vincent
More information about the fpc-pascal
mailing list