我可以使用以下代码重新创建错误:
#include <functional>#include <stdio.h>voID test(){ printf ("test"); }int main() { std::function<voID()> f; f = test; f();}
如果我运行gcc(来自cygwin):(我的错误信息是德语,所以我翻译了它.在英语gcc上可能听起来不同)
$gcc test.cpptest.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,它编译成功.
请告诉我在我的代码中我做错了什么.
约翰内斯
解决方法 将其编译为:g++ test.cpp -std=c++0x
-std = c需要0x,因为你使用的是C 11特性,否则g test.cpp就足够了.
确保您拥有最新版本的GCC.您可以将版本检查为:
g++ --version总结
以上是内存溢出为你收集整理的c – 函数不是std的元素全部内容,希望文章能够帮你解决c – 函数不是std的元素所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)