代码如下
..............
procedure bnv( const a:array of string);
var
  Form1: TForm1;implementation
{$R *.dfm}
procedure bnv(  const a:array of string);
begin
showmessage(a[0]);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
ss:string;
begin
ss:='123+';
//********************
bnv([ss]);
//************************
showmessage(ss);
end;end.我想问的是[ss]的"[]"有什么作用?代表什么意思?谢谢.

解决方案 »

  1.   

    因为bnv的参数是一个const a: array of string是一个字符串数组
    所以调用bnv函数时要传一个字符串数组
    [ss]其实就是['123+']就是一个数组,只有一个元素。
      

  2.   

    to chenzhuo 
    我如果把bnv([ss])改为bnv(ss)好象也可以?这是为什么呢?
      

  3.   

    不是很清楚,可能ss本身是string类型,
    如果你这样就不行了bnv('123+');
      

  4.   

    string好像是从1开始
    []代表集合吧
      

  5.   

     to :楼上
    string字符串是从0开始的
    []可以代表集合,但是集合不是用[]定义的,是具有相同数据类型元数组成的集合,任何有序类型,如:整型,字符型,或字介类型,但是不能是实数类型或其它结构类型,一个集合最多只能有2 5 5个元素,只有有序的类型才能跟关键字set of,