Процедуры глобального масштаба не могут быть общими?Есть ли техническая причина для такого ограничения? - PullRequest
0 голосов
/ 23 мая 2018

Почему использование универсальных типов в глобальной процедуре запрещено.Например:

  procedure Foo<T>(bar : T);

Ошибка компилятора: E2530 В глобальных процедурах или функциях нельзя вводить параметры типа

И все же это приемлемо в качестве метода класса

TFoo = class(TObject)
public
  class procedure Foo<T>(bar : T);
end;

Это очевидномой обходной путь, но меня интересует, существует ли реальная техническая причина ограничения.

1 Ответ

0 голосов
/ 23 мая 2018

Нет технической причины, по которой процедуры в глобальном масштабе не могут быть общими.

Если разработчики хотели реализовать это, то это можно было бы сделать.

...