Здравствуйте уважаемые форумчане. Есть задание переписать процедуру, осуществляющую БПФ из С++ в Делфи.
Но возникла проблема при реализации процедуры union
Исходный код С++
Код:
union { double af[2048*2]; complex ac[2048]; } a;
Аналог написанный в Делфи
Код:
procedure FFT(var nn:integer);
Type
b=Record
case byte of
0: (a1: record af: Array[0..2048*2] Of double; end);
1: (a2: record ac: Array[0..2048] Of Variant; end);
end;
на попытку компиляции выдает такую ошибку, ругаясь на строку
Код:
1: (a2: record ac: Array[0..2048] Of Variant; end);
Ошибка
Цитата:
[DCC Error] курсач.pas(89): E2154 Type 'Variant' needs finalization - not allowed in variant record
|
При замене Variant на double ошибка исчезает, однко для моего случая такое изменение неприемлемо

Массив Array[0..2048] Of Variant нужен чтобы потом объявить массив комплексных чисел.
Исходная процедура на С++:
FFT_R2.rar
Полный листнг моей попытки перевода:
Делфи.rar
P.S.
Подскажите люди сведущие, как в Делфи записать вот этот Сишный код?