C
Перед передачей входные аргументы, если требуется, преобразуются в соответствии с прототипом.
Пример.
Вызывающая процедура Вызываемая процедура
float a, max(float, float); float max(float a, float b){
int b;
.................. .......................................
y=2+3.5*max(a, b); // Целая переменная b преобразуется к типу float
}
Basic
Если есть необходимость застраховаться от возможности изменения входных данных в вызываемой процедуре, то необходимо передавать такие аргументы по значению, т.е. их копии. Для этого в определении процедуры перед таким параметром нужно записать ключевое слово ByVal.
Пример.
function Max(ByValaas double, ByValbas double) as double
Для того, чтобы вынудить транслятор выполнять автоматическое преобразование аргумента к типу параметра, достаточно заключить аргумент в скобки.
Пример.
y=2+3.5*max((a), (b))