Jak wyciągnąć adres zmiennej rekordu?

0
type
wsk_wierzcholki=^wierzcholki;
wsk_wsk_wierzcholki=^wsk_wierzcholki;
wsk_drogi=^drogi;
wsk_wsk_drogi=^wsk_drogi;
wierzcholki= record
      numer: integer;
      nast:wsk_wierzcholki;
      aktOdleglosci:integer;
      drogaDoInnychWierzcholkow:wsk_drogi;
      end;
drogi=record
      waga:integer;
      drogaDo:wsk_wierzcholki;
      nast:wsk_drogi;
end;

Chciałbym wyciągnąć adres zmiennej wskaźnikowej drogaDoInnychWierzcholkow, lecz kompilator nie kompiluje czegoś takiego

adres:=@(wierz^. drogaDoInnychWierzcholkow);

dodanie znaczników <code class="delphi"> - @furious programming

0

ale co to jest wierz?
i po co wsk_wsk_wierzcholki oraz wsk_wsk_drogi???

1

Kompilator po (lub w trakcie) nieudanej kompilacji wyświetla błędy. Błędy te mają treść. Treść tę należy przeczytać ze zrozumieniem, potem ewentualnie wspomóc się google i - w ostatecznym przypadku - naszym forum.

BTW po co Ci adres wskaźnika, będącego adresem samym w sobie?

0

Chciałbym wyciągnąć adres zmiennej wskaźnikowej drogaDoInnychWierzcholkow, lecz kompilator nie kompiluje czegoś takiego

To nie jest opis problemu - podałbyś treść błędu, to było by wiadomo, dlaczego "nie kompiluje się"...

Jeśli chodzi o samo pobranie wskaźnika, to jest to możliwe, o ile zrobi się to poprawnie; Same nawiasy są zbędne, tak samo jak operator @ - przecież drogaDoInnychWierzcholkow to już jest wskaźnik, jak poprzednik zauważył; Jeśli zmienna adres także jest typu wsk_drogi, to wystarczy taka linijka:

adres := wierz^.drogaDoInnychWierzcholkow;

Poza tym sformatuj kod i nazwij typy sensownie, bo w ogóle nie trzymasz jakiegokolwiek standardu nazewnictwa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1