我想在Pascal中返回一个函数作为返回值。
通常看起来应该是这样的:
function a(function b: Integer): function : Integer;
begin
a := b;
end;
但这不起作用。我知道返回函数有一些问题 来自另一个函数的返回值,但据我所知,此代码应以某种方式工作
我错过了什么?
答案 0 :(得分:3)
您需要定义一个函数类型来执行您想要的操作。请参阅以下代码示例:
type
TFunc = function: Integer;
function a(b: TFunc): TFunc;
begin
a := b;
end;
function x: Integer;
begin
x := 11;
end;
begin
Writeln(a(@x));
end.