A
abin30
Unregistered / Unconfirmed
GUEST, unregistred user!
用到二维数组,
声明没有问题: rr: array[0..6000,0,6000] of real;
但是当作参数的时候:test(r_1:array of array of real) 这样始终报错。
没有办法我找了资料这样做的:
定义一个类型:
type
RealArrayTwo = array[0..6000,0..6000] of real;
做参数
test(r_1:RealArrayTwo)
这样没有问题,但是在函数里边使用 的时候就出现了问题,只要出现 r_1[i,j] 就要报错,提示 Format '%1' invalid or incompatible with argument
。不知道是怎么回事。
有人说是数组太大,后来我重新写了一个:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
ArrayT=array[1..100,1..100] of real;
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i,j:integer;
S:Arrayt;
begin
for i:=1 to 90 do
begin
for j:=1 to 90 do
s[i,j]:=i*j;
end;
end;
还是报错,不知道怎么解决。
另外就是我在程序里边可能要用到大数组 ,array[0..6000,0..6000]这样的会不会有其他影响呢。
end.
声明没有问题: rr: array[0..6000,0,6000] of real;
但是当作参数的时候:test(r_1:array of array of real) 这样始终报错。
没有办法我找了资料这样做的:
定义一个类型:
type
RealArrayTwo = array[0..6000,0..6000] of real;
做参数
test(r_1:RealArrayTwo)
这样没有问题,但是在函数里边使用 的时候就出现了问题,只要出现 r_1[i,j] 就要报错,提示 Format '%1' invalid or incompatible with argument
。不知道是怎么回事。
有人说是数组太大,后来我重新写了一个:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
ArrayT=array[1..100,1..100] of real;
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i,j:integer;
S:Arrayt;
begin
for i:=1 to 90 do
begin
for j:=1 to 90 do
s[i,j]:=i*j;
end;
end;
还是报错,不知道怎么解决。
另外就是我在程序里边可能要用到大数组 ,array[0..6000,0..6000]这样的会不会有其他影响呢。
end.