【问题标题】:C++11 string properties and gcc versionC++11 字符串属性和 gcc 版本
【发布时间】:2013-11-07 09:49:34
【问题描述】:

我目前使用 C++ 字符串属性,特别是它的 pop_back() 函数。正如标题中所写,它会导致错误(在其他主题中看到相同的错误):

‘std::string’ has no member named ‘pop_back’

但奇怪的是我已经使用了 C++11 的特定属性(如迭代器的“自动”等),而且我从来没有遇到任何错误。

有关信息,我在 Ubuntu 12.04 下使用 gcc 4.6.3 构建我的代码。对我来说,这个版本已经足够好了。我还放了“-std=c++0x”标志,所以我真的不知道重点在哪里?!

此外,我在之前的主题中看到,现在最好使用“-std=c++11”标志。但是当我尝试这个时,会出现以下错误:

unrecognized command line option ‘-std=c++11’

【问题讨论】:

  • GCC 4.6 仅部分支持 C++11。 -std=c++11 仅在 GCC 4.7 及更高版本中。我怀疑std::string::pop_back() 也是如此。

标签: c++ string c++11 gcc stdstring


【解决方案1】:

在 gcc 4.6(仅部分支持新标准)上,选项是 -std=c++0x,因为当时发布日期(即 2011 年)仍然未知。

【讨论】:

    猜你喜欢
    • 2017-05-21
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2017-07-02
    相关资源
    最近更新 更多