строка ошибка функции pop_back

У меня проблема с изменением строки. Я ценю вашу помощь; Спасибо!

struct Drawings::menues
{
    std::vector<std::string> variable;
} Menue[numMenues];


Menue[1].variable.at(0).pop_back();

приведенный выше код дает мне следующую ошибку

error: 'class std::basic_string<char>' has no member named 'pop_back'|

Я использую кодовые блоки 12.11 и использую компилятор gnu gcc, а флаг С++ 11 в настройках компилятора исправил мою проблему.

Спасибо вам всем!


person user1964975    schedule 22.05.2013    source источник
comment
Ваш компилятор поддерживает C++11? pop_back был добавлен только в C++11.   -  person Asha    schedule 22.05.2013
comment
std::string::pop_back — это новая функция C++11. Если у вас старая версия компилятора или у вас не установлены флаги для включения режима C++11, то он не будет работать. Сообщите нам, какой компилятор и версию вы используете.   -  person Some programmer dude    schedule 22.05.2013


Ответы (1)


pop_back появился в C++11. Убедитесь, что ваш компилятор поддерживает его, и скомпилируйте с помощью -std=c++11 (или -std=c++0x, только если -std=c++11 не поддерживается вашей версией компилятора).

person chris    schedule 22.05.2013
comment
+1: Побей меня. Сообщение об ошибке выглядит как gcc, так что, вероятно, это просто вопрос передачи флага -std=c++11. Также обратите внимание, что -std=c++0x устарело. - person Jesse Good; 22.05.2013
comment
@JesseGood, да, это в скобках, потому что -std=c++11 лучше, но это работает, я думаю, только на 4.7 и выше. - person chris; 22.05.2013