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

delphi – 一个函数中第一行定义的结果变量?

发布时间:2020-12-15 04:26:50 所属栏目:大数据 来源:网络整理
导读:我需要澄清这种情况. 根据我的测试,Result变量定义为: Boolean = False,Integer = 0,String =”,Object = nil等从第一行. 但我从来没有看到官方的参考. 这也是有道理的,因为这给了提示. [DCC Warning] Unit1.pas(35):H2077赋值给“TForm1.Test”的值从未使
我需要澄清这种情况.

根据我的测试,Result变量定义为:
Boolean = False,Integer = 0,String =”,Object = nil等从第一行.
但我从来没有看到官方的参考.
这也是有道理的,因为这给了提示.

[DCC Warning] Unit1.pas(35):H2077赋值给“TForm1.Test”的值从未使用过

function TForm1.Test: Boolean;
begin
  Result := False;
  // Some arbitrary code here

  Result := True;
end;

但是如果我注释掉第一行,并且在最后一行之前有异常,会发生什么?结果= False?

如果Result未定义,这意味着我必须通过定义结果来启动每个函数,以防以后出现异常.这对我来说没有意义.

解决方法

否,结果没有(保证)默认值.它是未定义的,除非你给它一个价值.这是 the documentation所暗示的

If the function exits without assigning a value to Result or the
function name,then the function’s return value is undefined.

我刚刚试过

function test: integer;
begin
  ShowMessage(IntToStr(result));
end;

并收到一条消息与文本35531136.

(编辑:李大同)

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

    推荐文章
      热点阅读