我正在尝试在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。
答案 0 :(得分:6)
divide
显然是代表,而不是函数。您可以使用代理列表(只需将function
替换为delegate
),或确保您的函数不是代理。
对于后者:看起来divide是一个类方法,而不是普通函数。将其设为static
或将其移出课堂体外。