3
|
Stéphane · 技术社区 · 7 年前 |
![]() |
1
9
当你看到
lambda定义(闭包)对象类型。这不是一个函数。虽然无捕获lambda确实有到函数指针的隐式转换运算符,但该指针具有与lambda的参数列表匹配的签名。
因此可以将lambda转换为
解决方法是在将lambda馈送到之前将其转换为函数指针类型
由于一元+对于lambdas没有重载,编译器很有帮助,可以为我们转换为指针(一元+可以应用于某些对象)。之后,宏中的强制转换应该可以工作。 |
![]() |
2
1
问题是指针类型不匹配,错误消息清楚地表明:
现在更有趣的问题是:为什么第一次尝试成功了?很明显,转换宏中的C样式转换
若要绕过,必须首先将lambda转换为适当的函数指针;您可以尝试以下代码进行说明:
(此处使用C++强制转换而不是C样式强制转换)。 |
![]() |
DanielPerez · Julia+GTK:关闭窗户的信号 7 年前 |
![]() |
Omer Naveed · 如何在GTK Vala中实现CSS样式? 7 年前 |
![]() |
tayoung · 如何在GTK中禁用TextView的透明度? 7 年前 |