C ++ 0x регулярное выражение в GCC - PullRequest
10 голосов
/ 17 января 2011

следующий код:

#include <regex>
using namespace std;

(snippage)

regex_search(s, m, re);

работает в Microsoft C ++, но GCC 4.4.3 выдает следующее сообщение об ошибке:

/ usr / include / c ++ / 4.4 / tr1_impl / regex: 2255: предупреждение: встроенная функция 'bool std :: regex_search (_Bi_iter, _Bi_iter, std :: match_results <_Bi_iter, _Allocator> &, const std :: basic_regex < _Ch_type, _Rx_traits> &, std :: regex_constants :: match_flag_type) [с _Bi_iter = __gnu_cxx :: __ normal_iterator, std :: allocator>>, _Allocator = std :: allocator, std :: allocator>>>>, _Ch_type = char, _Rx_traits = std :: regex_traits] 'используется, но никогда не определяется

Конечно, меня не удивило бы, если бы регулярное выражение было просто одной из функций C ++ 0x, все еще включенных в список дел для GCC, но в этом случае я ломаю голову над тем, почему он с радостью принимает директиву include, объявления переменных и т. д. и только срабатывает при вызове функции (что, кажется, даже понимает).

Есть что-то, что я пропускаю?

Ответы [ 2 ]

15 голосов
/ 17 января 2011

Библиотека regex в основном не была реализована в libstdc ++ до ветки 4.8.

Версии 4.9 и выше, хотя и реализовали <regex>.для <regex>

Текущий статус поддержки библиотеки для C ++ 11
0 голосов
/ 30 марта 2012

Для g ++, скомпилировать с флагом "-std = c ++ 0x"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...