我在编写C时遇到编译器的错误.这是我的代码:
#include <iostream> #include <algorithm> #include <typeinfo> #include <string> #include <vector> std::vector< std::vector<char> > p(std::vector<char> v) { std::vector< std::vector<char> > result; std::sort(v.begin(),v.end()); do { result.emplace_back(v); } while(std::next_permutation(v.begin(),v.end())); return result; }
这是我的错误:
知道是什么导致了这个吗?
我正在使用Codeblocks 12.11,Windows 7,我的编译器是GNU GCC Compiler
Thnx的助攻:)
更新:
如果有人碰到同样的问题,这里是解决方案(在Codeblocks 12.11中):
转到:设置 – >编译器 – >编译器设置 – >选中以下复选框:
解决方法
您的编译器不支持C 11. std :: vector< T>的emplace_back成员函数.自C 11以来已被添加为
you can see.
根据您的编译器版本,您可能只需要一些标志来告诉编译器打开C 11功能.你可以在GCC和Clang上做到:
-std=c++11 -stdlib=libc++
否则,您可能需要将编译器版本更新为更新版本.
原文地址:https://www.jb51.cc/c/119741.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。