D2:函数指针无法编译
D2: Function Pointers won't compile
我正在尝试使用 DLang 中的函数指针(指向函数的指针),但它无法编译。 Web 上关于制作函数指针的所有代码对我都不起作用。这是我的代码:
tqvar function(tqlist)[string] procs;
procs["divide"] = ÷/// cannot implicitly convert expression (&this.divide) of type tqvar delegate(tqlist args) to tqvar function(tqlist) (QScript)
tqvar divide(tqlist args){
tqvar result;
result.ii = true;
result.d = args.read(0).d/args.read(1).d;
return result;
};
我在 ubuntu 上使用 dmd2。
divide
显然是委托,而不是函数。您可以改用委托列表(只需将 function
替换为 delegate
)或确保您的函数不是委托。
对于后者:看起来 divide 是一个 class 方法,而不是一个简单的函数。使其成为 static
或将其移出 class 主体。
我正在尝试使用 DLang 中的函数指针(指向函数的指针),但它无法编译。 Web 上关于制作函数指针的所有代码对我都不起作用。这是我的代码:
tqvar function(tqlist)[string] procs;
procs["divide"] = ÷/// cannot implicitly convert expression (&this.divide) of type tqvar delegate(tqlist args) to tqvar function(tqlist) (QScript)
tqvar divide(tqlist args){
tqvar result;
result.ii = true;
result.d = args.read(0).d/args.read(1).d;
return result;
};
我在 ubuntu 上使用 dmd2。
divide
显然是委托,而不是函数。您可以改用委托列表(只需将 function
替换为 delegate
)或确保您的函数不是委托。
对于后者:看起来 divide 是一个 class 方法,而不是一个简单的函数。使其成为 static
或将其移出 class 主体。