动态数组定义赋值编译不通过,但改变却可以便宜通过,请问问题存在哪里,为什么
var
a : array of integer;
b : array of integer;
c : array of integer;
begin setlength(a,1);
b := a; //编译出错在这里end;但换成另一种方法var
a,b,c : array of integer;
begin setlength(a,1);
b := a; //编译通过end;
请问上面通不过是为什么
var
a : array of integer;
b : array of integer;
c : array of integer;
begin setlength(a,1);
b := a; //编译出错在这里end;但换成另一种方法var
a,b,c : array of integer;
begin setlength(a,1);
b := a; //编译通过end;
请问上面通不过是为什么
解决方案 »
- SQL更新问题,请高手帮忙,昨天描述的不清楚,今天重发
- 求兼职
- 如何进行2台不同服务器相同的数据库之间进行同步?
- 谁能给我一个输入货币的控件?我要输入人民币!!
- ExpressQuantumGrid Suite v 4.2 for delphi6 安装问题,急用!!!!
- midas组件好不好用?难吗?
- 请问哪个哥哥姐姐告诉我一些关于Delphi的网站!来者有分!
- 关于使用quickreport 打印表格,在线。答案正确马上结帖!
- InstallShield Express For Delphi 5的问题,给高分!!!谢谢!!
- 那儿有这个软件...
- GPRS服务端关于GPRS连接的问题
- 怎样在RichEdit组件的指定行显示信息?
你定义的A,B不是同数据类型;换句话说,你换行定义的"看起来"是一种数据类型的变量,但在DELPHI语言中,它认为不是.
这是DELPHI语言的强类型检查的结果;对于后者,因为是在同一个定义中声明的变量,因此,DELPHI认为是同一种数据类型,所以正确.
一般地,我们都是这样操作的
type Tdata=array of byte;//声明一种数据类型.
var
a,b:tdata;
c:tdata;
因为
var
a : integer;
b : integer;
a := b; 这样不是也不行么,编译器都做到那程度了,还差这一点,呵呵
不过给分了
因为
var
a : integer;
b : integer;
a := b; 这样不是也不行么,编译器都做到那程度了,还差这一点,呵呵
不过给分了-------------------------------------看来无知还真是可以做到无畏滴!楼主:你应当好好学学:编译器内置数据类型(原型或基本数据类型)与编译器扩展数据类型的区别;