Помощь - Поиск - Пользователи - Календарь
Полная версия: Overloading ...
Форум «Всё о Паскале» > Pascal, Object Pascal > 32 битные компиляторы
klem4
Что ему не нравится ?

{$mode objfpc}

uses crt;
const n : word = 3;

type

TType = single;

PVector = ^TVector;
TVector = array [1..1] of TType;

PMatrix = ^TMatrix;
TMatrix = array [1..1] of PVector;


operator + (const a,b : PVector) v : PVector;
var
i : word;
begin
for i := 1 to n do v^[i] := a^[i] + b^[i];
end;

//....

begin
end.


impossible operator overload
volvo
klem4, ты думаешь, FPC настолько туп, чтобы дать тебе возможность переопределять операции над указателями ??? lol.gif Не пойдет ...
klem4
То есть переопределить операции для динамических массивов возможности нет ?
volvo
Почему же нету? Все можно... Только пользуйся нормальной встроенной в язык поддержкой динамических массивов:
{$mode objfpc}
uses crt;

type

TType = single;

TVector = array of TType;
TMatrix = array of array of TType;

operator + (const a,b : TVector) v : TVector;
begin
// ...
end;
operator + (const a,b : TMatrix) v : TMatrix;
begin
//
end;

begin
end.

Не забудь, что ТЫ должен выделить память для результируюшего массива (или матрицы)
klem4
Цитата
встроенной в язык поддержкой динамических массивов


Круто. Это только в FPC ? unsure.gif
volvo
Почему? В Дельфи тоже такое есть...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.