我試圖編譯下面的程序:我錯過了什麼?
#include<functional>
#include<iostream>
int main(int argc, char* argv[], char* env[]) {
std::function<int(int, int)> f = [i, &j] { return i + j; };
std::cout << f(5, 5);
}
爲什麼我收到以下錯誤:
a.cc:17:3: error: \u2018function\u2019 is not a member of \u2018std\u2019
即使我有「自動」的編譯器替換它抱怨說,「F」不會命名一個類型。我嘗試了GCC 4.4.3和4.6.2。
這可能有所幫助:http://stackoverflow.com/questions/9408082/c11-gcc-4-6-2-stdmove。 – 2012-03-29 16:46:26