Стек: почему выбрасывается исключение? - PascalABC.NET
Формулировка задачи:
Программа:
Почему выбрасывается исключение?
Решение задачи: «Стек: почему выбрасывается исключение?»
textual
Листинг программы
//Compiler: 3.3.5.1662 unit TypeStack; interface type T = integer; PNode = ^TNode; TNode = record Value: T; Next: PNode; // constructor Create(value_: T; next_: PNode); end; procedure Push(var head: PNode; value: T); function Pop(var head: PNode): T; implementation // constructor TNode.Create(value_: T; next_: PNode); // begin // Value := value_; // Next := next_; // end; {$region} procedure Push(var head: PNode; value: T); var node : PNode; begin new(node); node^.Next := head; node^.Value := value; // var node := new TNode(value, head); head := node; end; function Pop(var head: PNode): T; begin if head = nil then raise new System.InvalidOperationException('Unable to obtain topmost element.'); Result := head^.Value; head := head^.Next; end; {$endregion} end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д