d - 将模板参数应用于函数而不调用函数?
问题描述
如何仅将模板参数应用于需要模板参数的函数,而不隐式地调用具有零参数的函数?我想要一个函数或委托指针而不是一个值。
void foo(T)(double x) {}
auto bar() {
return foo!(int);
}
hack.d(36): Error: function hack.foo!int.foo(double x) is not callable using argument types ()
hack.d(36): missing argument for parameter #1: double x
解决方案
如果你有一个普通的功能
void foo() {}
你想要一个指向它的函数指针,你会怎么做?
&foo
现在,假设您有一个模板:
void foo(T)() {}
并想要一个指向特定实例的指针......你可能会猜到这一点:)
&foo!arg
推荐阅读
- python - 如何使用 Python matplotlib 在两个条形图上生成相同的颜色?
- templates - 如果找不到模板响应文件,如何让 Wiremock 给出默认响应
- django - 在 Windows 中安装 mod_wsgi 使用 pip 引发错误
- r - 从多个文件中提取列并绘制它们
- android - 应用关闭后后台进程(AsyncTask)仍在运行
- php - 从数据库计算总行数
- git - OSX上的VScode-GIT ssh密钥密码-从内置终端而不是从命令面板中工作
- html - 为什么我不能设置上边距?
- c# - 如何向从 MVC 控制器继承的类添加新操作
- rrdtool - RRD 工具图表数据在每周和每月之间有所不同