0
我有一個非常鮮明的類。帕斯卡爾:在一個類上調用一個空方法segfaults
unit StuffClass;
{$mode objfpc}{$H+}
interface
type
TStuffClass = class
public
procedure Update;
end;
implementation
procedure TStuffClass.Update;
begin
end;
end.
創建它的一個實例,並調用其Update
過程導致程序SIGSEGV ..
什麼..?它沒有做任何事情。
我使用的是Freepascal(& Lazarus)32位版本。
它爲什麼這樣做?
編輯:這裏是調用位:
//Creating it
constructor TEngine.Create(TV: pSDL_Surface);
begin
Self.TV := TV;
Self.StuffClass.Create;
end;
function TEngine.Update: Boolean;
begin
WriteLN('Test');
SDL_PumpEvents;
Self.StuffClass.Update; //Crashes here.
Update := True;
end;
其實,我正在那樣做。 StuffClass是另一個名爲Engine的類的私有成員。 –
然後,不要讓我們試圖猜測你做錯了什麼。發佈展示問題行爲的實際代碼。沒有顯示你如何使用它導致錯誤的類定義是沒有意義的。 –
剛剛發佈了調用代碼 –