Am 15.08.2018 um 00:30 schrieb Benito van der Zander:
Hi,
why is sizeof on object/class fields sometimes allowed and sometimes not?
type TTest = object
f: integer;
class procedure test;
end;
class procedure TTest.test;
begin
writeln(sizeof(f)); // does not compile
writeln(sizeof(TTest.f)); // compiles
end;
---
type TTest = class
f: integer;
class procedure test;
end;
class procedure TTest.test;
begin
writeln(sizeof(f)); // does not compile
writeln(sizeof(TTest.f)); // does not compile
end;
surely that should all be equal to sizeof(integer)
Interestingly Delphi does not allow it either (though it fails with two
different errors for the two variants (note: I only tested the class
one)), so its behavior is the same as in FPC there. I personally would
say that it should be allowed however... *shrugs*
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel