我在 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 编译成功。请告诉我我在代码中做错了什么。
约翰内斯