Есть исходник, из текста которого неясно, вызывается функция или процедура (конкретно - это модуль в исходниках FPC, называется AVL_TREE.PP).
Процедура и функция имеют одно имя, являются методами одного класса, в качестве формальных параметров получают класс или указатель:
- Код: Выделить всё
- TAVLTree = class
 ...
 procedure Add(ANode: TAVLTreeNode);
 function Add(Data: Pointer): TAVLTreeNode;
 ...
Соответственно, можно вызвать функцию как процедуру, ничему не присваивая результат вычисления функции, и компилятор это проглотит
 
 
В результате исходник стал неоднозначным.
Можно ли запретить такую вольность?


