使用来自http://ideone.com/5MHVz的代码 我很好奇如何将 lambda 函数(内联)绑定到 C 样式函数指针,但即使没有状态,我也无法使用类函数执行此操作涉及。这一定是一些根本性的区别,但我不明白在这种情况下 lambda 绑定是如何可能的(对于 lambda 生成的代码也有一个概念 this )。有解决方法吗?
代码如下:
#include <iostream>
#include <functional>
using namespace std;
typedef int (*http_cb) (int*);
struct http_parser_settings {
http_cb on_message_begin;
};
class HttpParser
{
int OnMessageBegin(int* val){}
HttpParser()
{
http_parser_settings settings;
//settings.on_message_begin = std::bind(&HttpParser::OnMessageBegin, this, std::placeholders::_1); -- this one does not compile
settings.on_message_begin = [](int* p){ return 0;};
}
};
int main() {
}