C++11 строковые свойства и версия gcc

В настоящее время я использую строковые свойства C++ и, в частности, его функцию pop_back(). Как написано в заголовке, это приводит к ошибке (та же ошибка видна в другой теме):

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

Но что странно, я уже использую специфические свойства C++11 (как "auto" для итераторов и т. Д.) И никогда не получаю никакой ошибки.

Для информации я строю свой код под Ubuntu 12.04 с помощью gcc 4.6.3. Для меня эта версия достаточно хороша. Я также поставил флаг "-std= C++0x", чтобы я действительно не знал, в чем смысл?!

Более того, я видел в предыдущей теме, что сейчас лучше использовать флаг "-std= C++11". Но когда я пытаюсь это сделать, появляется следующая ошибка:

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

Заранее благодарю за объяснения.

1 ответ

Решение

В gcc 4.6 (который имел только частичную поддержку нового стандарта) опция -std= C++0x, потому что в то время дата выпуска (то есть, 2011) была еще неизвестна.

Другие вопросы по тегам