【问题标题】:Use built-in c++ structures使用内置的 c++ 结构
【发布时间】:2014-07-06 20:25:50
【问题描述】:

我正在开发一个使用 Eclipse for C++ 的项目。目前我需要使用元组和散列等结构。在 cplusplus 网站上寻找它时,我附带了这些:

http://www.cplusplus.com/reference/tuple/tuple/?kw=tuple

关键是,在尝试编译时遵循站点上的示例代码,我得到一个错误,例如,未定义元组。仔细观察,c++ 网站称这些功能适用于修订版 11 和更新版本。也许这可能是我的问题,因为我不知道如何检查我的版本。

如何使用最新版本?我真的可以帮我很多,而不必从头开始实现这些结构。

编辑:我在控制台上做了 g++ --version 并得到:

g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

我正在使用带有 Eclipse C/C++ Kepler SR2 的 Ubuntu 12.04

编辑答案:

你使用c11标准,需要gcc 4.7。参考这个链接:http://www.swiftsoftwaregroup.com/upgrade-gcc-4-7-ubuntu-12-04/

安装它。

【问题讨论】:

标签: c++ hash tuples built-in


【解决方案1】:

使用 std=c++11 编译,例如 g++ -std=c++11 program.cpptuple 确实是在C++11 中新引入的,但您可以在C++03 中使用mapssetsunordered 版本再次是C++11 附带的标准库的新功能)。在eclipse中,进入项目属性C/C++ Build/Settings/C++ compiler/Miscellaneous,然后添加-std=c++11标志

【讨论】:

  • 好吧,我以为有人知道如何更改编译器。转到项目属性C/C++ Build/Settings/C++ compiler/Miscellaneous,然后添加-std=c++11 标志
  • 我收到一个错误。它说 cc1plus: error: unrecognized command line option ‘-std=c++11’
  • 那说明你的编译器不支持C++11。你用的是什么平台?你能打开一个终端并输入g++ --version(或c++ --version)吗?
  • g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 我使用 Ubuntu 12.04 和 Eclipse C/C++ Kepler SR2
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多