2014-09-04 35 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');