tôi cố gắng biên dịch đoạn mã sau:lĩnh vực được khai báo trong loại thừa hưởng biên dịch Nimrod chương trình
type
TPerson = object of TObject
name*: string
age: int
TStudent = object of TPerson
id: int
var
student: TStudent
person: TPerson
student = TStudent(name: "Anton", age: 5, id: 2)
nhưng tôi nhận được lỗi sau:
Error: undeclared field: 'id'
như thế nào id
không công bố? Mẫu mã là trực tiếp từ hướng dẫn. Đã làm điều gì đó trong ngôn ngữ thay đổi không được phản ánh trong hướng dẫn?
Ngoài ra, nếu tôi cố gắng để chạy các đoạn mã sau:
student = TStudent(name: "Anton")
echo student.name
tôi nhận được lỗi sau:
SIGSEGV: Illegal storage access. (Attempt to read from nil?)
Tại sao?
Tìm thấy ai đó có cùng vấn đề trên [diễn đàn nimrod] (http://forum.nimrod-code.org/t/285) – sloth