gccでコードをコンパイルすると非常に奇妙なエラーが発生しました。それはstd::function
存在しないことを教えてくれます。
次のコードでエラーを再現できます。
#include <functional>
#include <stdio.h>
void test(){ printf ("test"); }
int main() {
std::function<void()> f;
f = test;
f();
}
gcc(cygwinから)を実行した場合:(エラーメッセージはドイツ語だったので、翻訳しました。英語のgccでは音が異なる場合があります)
$ gcc test.cpp
test.cpp: in function "int main():
test.cpp:7:3: Error: "function" is not an element of "std"«
test.cpp:7:25: Error: "f" was not defined in this scope
MSVCを使用すると、正常にコンパイルされました。コードで何が間違っているのか教えてください。
ヨハネス