2014-09-04 59 views
2

在Lazarus中使用以下類代碼我在writeln(woman.name,'has been born')上得到以下錯誤:行:「工程在我的應用出現了異常類的外部SIGSEV「其他PASCAL代碼似乎工作確定關於pascal類使用的SIGSEV錯誤

program project1; 
uses wincrt; 

type human = class 
    private 
     health : integer; 
    public 
     name : string; 
     constructor born(n: string); 
end; 

constructor human.born(n: string); 
begin 
    name := n; 
    health := 100; 
end; 

var 
    woman : human; 

begin 
    woman.born('Tracy'); 
    writeln(woman.name, 'has been born'); 
end. 
+0

[爲什麼這個代碼導致段錯誤在result.create?](http://stackoverflow.com/questions/25286349/why-is-this-code-causing-a-segfault-at-result-create#comment39405941_25286349) – Abelisto 2014-09-04 10:57:46

回答

3

您需要實例化對象是這樣的:

woman := human.born('Tracy');