2013-06-19 52 views
0

我正在編寫這個函數,併爲我設置的行result := -10編譯器給我一個警告,說這樣的值是從未被設置的。我的邏輯有問題嗎?如何在Delphi函數中設置不同的結果值?

function combine (m1, m2 : string) : integer; 
var 
dash : integer; 
distinct : integer; 
i : integer; 

begin 
distinct := 0; 
dash := -1; 

for i := 0 to Length(m1)-1 do 
begin 
    if m1[i] = m2[i] then 
    begin 
     distinct := distinct+1; 
     dash := i; 
     if distinct > 1 then 
      result:= -10; 
    end; 
end; 

result := dash; 
end; 

回答

8

值不被指定,因爲你在最後一行result的值設置爲dash

你可以從

if distinct > 1 then 
     result:= -10; 

改變你的代碼,以

if distinct > 1 then 
     dash:= -10; 
+0

,我想我可以採取設置在該行的結果爲-1,作爲回報* * – diegoaguilar

+2

你需要做的'退出; '立即,因爲分配'結果'不會中斷在Delphi中的功能 – Igor

+0

如果我想退出*,結果值設置爲-10 – diegoaguilar

相關問題