Chinaunix
标题:
lambda强转成函数指针,运行时崩溃,为什么
[打印本页]
作者:
asker160
时间:
2016-02-22 18:55
标题:
lambda强转成函数指针,运行时崩溃,为什么
我尝试,把一个lambda转成一个函数指针,然后调用,可惜崩溃了。
这个lambda所要做的事情就是delete掉一个指针而已。
typedef void(*pf)(void*);
struct M
{
~M(){ printf("dtor\n"); }
};
int main(void)
{
M *p = new M;
auto f = [](M*p){delete p; };
pf p1 = (pf)&f;
(*p1)(p);
return 0;
}
复制代码
为什么呢,为何会崩溃? 这个崩溃还没有办法调试。请大侠指点!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2