我想在设置函数指针的值时声明一个函数。
TypeScript 等效项:
let fp: () => void;
fp = () => {
console.log("Hello from inline function declaration!");
};
我尝试在网上查找,但似乎找不到与我要查找的内容相关的任何内容。我认为这是不可能的,但如果是的话,这对我正在从事的项目将非常有帮助。我知道这可能是一个愚蠢的问题,但我真的很想知道答案。
没有状态的 lambda 可以转换为函数指针。您甚至可以使用一元
+
运算符强制转换,如
auto lambda = []() { do_something(); };
auto function_ptr = +[]() { do_something(); };
但是普通的隐式转换也可以。
所以这大致就是您想要的。
#include <iostream>
extern void (*fp)();
void (*fp)() = []() {
std::clog << "Hello from inline function declaration!\n";
};
int main()
{
fp();
}