PLP
Именно для твоего примера проще указать overload функции:
Код:
type
TVector = array of real;
TMatrix = array of TVector;
function VectorXMatrix(A: TVector; B: TMatrix): TVector; overload;
function VectorXMatrix(A: TMatrix; B: TVector): TVector; overload;
function VectorXMatrix(A: TMatrix; B: TMatrix): TMatrix; overload;
А насчет переменного числа параметров, то в Об. Паскале (Delphi) этого вроде делать нельзя, кроме как передавать параметры в массиве переменной длинны.