加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 无法传递类型化的char数组来打开char数组?

发布时间:2020-12-15 04:35:11 所属栏目:大数据 来源:网络整理
导读:在Delphi 7或Delphi XE下编译时,下面的代码会抱怨 [DCC Error] Project1.dpr(25): E2010 Incompatible types: 'array of Char' and 'TAChar' According to Rudy’s article,应该允许传入类型数组来打开数组吗? 此外,为什么它不抱怨’布尔’数组和’TABoolea
在Delphi 7或Delphi XE下编译时,下面的代码会抱怨
[DCC Error] Project1.dpr(25): E2010 Incompatible types: 'array of Char' and 'TAChar'

According to Rudy’s article,应该允许传入类型数组来打开数组吗?

此外,为什么它不抱怨’布尔’数组和’TABoolean’?

非常感谢您的帮助!

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TAChar = array of Char;
  TABoolean = array of Boolean;

procedure Test1(const CharArr: array of Char);
begin
end;

procedure Test2(const BoolArr: array of Boolean);
begin
end;

var
  Arr1: TAChar;
  Arr2: TABoolean;
begin
  try
    Test1(Arr1);  //  <------- Does not compile in Delphi 7 & XE
    Test2(Arr2);
  except
    on E: Exception do
      Writeln(E.ClassName,': ',E.Message);
  end;
end.

解决方法

问题中的代码是有效的.任何拒绝编译它的编译器都是有缺陷的.可能没有必要提交错误报告,因为现代版本将编译此代码.

如果您无法转移到没有缺陷的编译器,那么您将不得不解决该缺陷. Sertac对类似问题的回答表明了一个这样的工作:https://stackoverflow.com/a/3781425/505088

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读