Using inherited in expression
Original Reporter info from Mantis: leledumbo_cool@yahoo.co.id @leledumbo
-
Reporter name: Mario Ray Mahardhika
Original Reporter info from Mantis: leledumbo_cool@yahoo.co.id @leledumbo
- Reporter name: Mario Ray Mahardhika
Description:
Given the following unit, why TDesc1.Print raises syntax error but TDesc2.Print doesn't? Should both be OK?
unit test;
{$mode objfpc}{$H+}
interface
type
TBase = class
function Print: String; virtual;
end;
TDesc1 = class(TBase)
function Print: String; override;
end;
TDesc2 = class(TBase)
function Print: String; override;
end;
implementation
function TBase.Print: String;
begin
Result := 'Base';
end;
function TDesc1.Print: String;
begin
Result := inherited + '-Desc1';
end;
function TDesc2.Print: String;
begin
Result := inherited Print + '-Desc2';
end;
end.
Mantis conversion info:
- Mantis ID: 18443
- OS: win32
- OS Build: 5.1.2600
- Build: 16638
- Platform: i386
- Version: 2.5.1
- Fixed in version: 2.6.0
- Fixed in revision: 16741 (#8f7ada0d)