2017-04-09 8 views
1

このコードは、私はVS2017で、それはdoesntの間、 をregex_matchの呼び出しに "regex_error" 例外を取得gccのではなぜこのコードはVisual Studioで動作しますが、gccで失敗しますか?

をコンパイルし、実行(backtrace_symbolsの解析しますか)?!?

const std::regex r(R"(\((\w*)\+\w*\)\s+\[(\w+)\])"); 
std::smatch m; 
const bool bMatch = std::regex_match(curStr,m,r); 

誰かが説明できますか?

+0

GCC(stdlibC++)および本当にうまくいったことはありません、どのバージョンを使用していますか? – DeiDei

+0

@DeiDei、Never?これはしばらくの間実装されており、[トランク上で動作](https://wandbox.org/permlink/qyPSFvU8L2NCKE0z)です。 – chris

+0

@chris自分の言葉が間違っています。私は、これについて多くの疑問が残っていることを意味しました。だから、OPが使っているバージョンを尋ねたのです。 – DeiDei

答えて

1

私は、これはバージョン4.8.5

You can see it here

までのバグだと思う私は、そうであっても、私はgccであなたは、少なくとも使用バージョン5.4.0または上位を示唆バージョン5.3.0
までのいくつかのバグを発見した

See a bug in version 5.3.0

関連する問題