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 主体。