gpt4 book ai didi

d - 如何将 ref/out 函数指针传递给函数?

转载 作者:行者123 更新时间:2023-12-03 07:05:36 25 4
gpt4 key购买 nike

我想实例化一个函数指针:

static void GetProc (out function f) {
auto full = demangle(f.mangleof);
auto name = full[full.lastIndexOf('.')+1..$];

f = cast(typeof(f)) GetProcAddress(hModule,name.toStringz);
}

但是编译器不允许我使用函数类型变量(out function f)。我尝试使用 Object 但显然 function 不是 Object (怎么来的?)。那么,如何将 function 作为 ref/out 变量传递(不使用 template/mixin ,它模糊了代码并迫使我添加许多 typeof 语句...)?

最佳答案

没有名为function的类型。函数必须指定返回类型和参数类型,例如 int function(double, string)。如果您想支持任何类型的功能,请使用 template

static void GetProc(T)(out T f) if (isFunctionPointer!T) 
...

关于d - 如何将 ref/out 函数指针传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com