我想將一個lambda表達式傳遞給一個函數指針的函數,這甚至有可能嗎?lambda表達式是否可以作爲函數指針傳遞?
下面是一些示例代碼,我使用VS2010:
#include <iostream>
using namespace std;
void func(int i){cout << "I'V BEEN CALLED: " << i <<endl;}
void fptrfunc(void (*fptr)(int i), int j){fptr(j);}
int main(){
fptrfunc(func,10); //this is ok
fptrfunc([](int i){cout << "LAMBDA CALL " << i << endl; }, 20); //DOES NOT COMPILE
return 0;
}
使用gcc-4.5.1在Linux上編譯並運行(但不在4.4.3中編譯,沒有lambda表達式) – Cubbi 2010-06-07 22:42:30