Я работаю над проектом с использованием Eclipse для 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
Я использую Ubuntu 12.04 с Eclipse C / C ++ Kepler SR2
РЕДАКТИРОВАТЬ с ответом:
Ту используй стандарт с11, нужен gcc 4.7. Обратитесь к этой ссылке: http://www.swiftsoftwaregroup.com/upgrade-gcc-4-7-ubuntu-12-04/
установить его.
компилировать с std=c++11
, лайк g++ -std=c++11 program.cpp
, tuple
действительно недавно введен в C++11
, но вы можете использовать maps
а также sets
в C++03
( unordered
версии снова новая функция стандартной библиотеки, которая поставляется с C++11
). В затмении перейдите в свойства проекта, C/C++ Build/Settings/C++ compiler/Miscellaneous
затем добавьте -std=c++11
флаг