Pointers D2:函数指针赢了';不编译

Pointers D2:函数指针赢了';不编译,pointers,d,Pointers,D,我试图在DLang(指向函数的指针)中使用函数指针,但它无法编译。网络上所有关于函数指针的代码对我来说都不起作用。这是我的代码: tqvar function(tqlist)[string] procs; procs["divide"] = ÷/// cannot implicitly convert expression (&this.divide) of type tqvar delegate(tqlist args) to tqvar function(tql

我试图在DLang(指向函数的指针)中使用函数指针,但它无法编译。网络上所有关于函数指针的代码对我来说都不起作用。这是我的代码:

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显然是一个委托,而不是一个函数。您可以使用代理列表(只需将
功能
替换为
代理
),也可以确保您的功能不是代理

对于后者:看起来divide是一个类方法,而不是一个普通函数。要么将其设置为静态,要么将其移到类主体之外。

对我来说。