operator overloading в Mdelphi

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

operator overloading в Mdelphi

Сообщение XProger » 29.07.2008 14:58:28

В reference имеется раздел operator overloading, в котором:
"When compiling in Delphi mode or Objfpc mode, the result identifier may be dropped. The
result can then be accessed through the standard Result symbol."

Сие расценивается мною как возможность использования перегрузки операторов в {$MODE DELPHI}
Но по странному стечению обстоятельств, данный код:
Код: Выделить всё
program test;

{$MODE DELPHI} // без этой штуки перегрузка операторов работает, но отказаться от неё не в силах

type
  TVec2f = object
    x, y: Single;
  end;

operator + (a, b: TVec2f) Result: TVec2f;
begin
  Result.x := a.x + b.x;
  Result.y := a.y + b.y;
end;

var
  a, b: TVec2f;
begin
  a.x := 0; a.y := 1;
  b.x := 2; b.y := 3; 
  writeln((a + b).x);
end.

Вызывает ошибку компиляции:
test.dpr(10,10) Fatal: Syntax error, "=" expected but "+" found

Это такая недокументированная фитча? Как лечить?
Аватара пользователя
XProger
новенький
 
Сообщения: 44
Зарегистрирован: 13.08.2007 02:52:28
Откуда: Москва

Re: operator overloading в Mdelphi

Сообщение Иван Шихалев » 30.07.2008 01:51:54

"Standard Result symbol" означает, что объявлять его не надо.
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: operator overloading в Mdelphi

Сообщение XProger » 30.07.2008 02:08:54

Не важно что оно там означает, по контексту явно видно, что поддержка перегрузки операторов в режиме DELPHI имеется, а на деле выходит обратное. Компилятор 2.2.0.
Аватара пользователя
XProger
новенький
 
Сообщения: 44
Зарегистрирован: 13.08.2007 02:52:28
Откуда: Москва

Re: operator overloading в Mdelphi

Сообщение XProger » 01.08.2008 17:18:42

FPC 2.3.1 этот код также не компилирует, поэтому пришлось использовать {$MODE OBJFPC} до разъяснения ситуации.
Аватара пользователя
XProger
новенький
 
Сообщения: 44
Зарегистрирован: 13.08.2007 02:52:28
Откуда: Москва

Re: operator overloading в Mdelphi

Сообщение Максим » 02.08.2008 02:15:08

Напишите в багтрекер.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 598
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: operator overloading в Mdelphi

Сообщение XProger » 02.08.2008 16:08:53

На freepascal.org сослались на ошибку в reference )
Аватара пользователя
XProger
новенький
 
Сообщения: 44
Зарегистрирован: 13.08.2007 02:52:28
Откуда: Москва


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru