Visual Studio 2010 включает Regex Error - PullRequest
3 голосов
/ 03 декабря 2011

Я пытаюсь поэкспериментировать с регулярным выражением. Итак, я создал проект в VS 2010, и сверху я поставил:

#include "std_lib_facilities.h"
#include <regex>
using namespace std::tr1;

int main()
{
    regex rx("123");
    cout << ">";
    string s;
    getline(cin,s);
    regex_match(s.begin(),s.end(),rx);
    cout << '\n' << s << endl;
    keep_window_open();
}

Когда я компилирую, я получаю список ошибок, похоже, что есть проблема с самим файлом regex.h. Вот ошибки:

Error   1   error C2977: 'Vector' : too many template arguments c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    982
Error   2   error C2146: syntax error : missing ';' before identifier '_MyCont' c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    982
Error   3   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    982
Error   4   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    982
Error   5   error C2653: '_MyCont' : is not a class or namespace name   c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    986
Error   6   error C2146: syntax error : missing ';' before identifier 'const_iterator'  c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    986
Error   7   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    986
Error   8   error C2868: 'std::tr1::match_results<_BidIt,_Alloc>::const_iterator' : illegal syntax for using-declaration; expected qualified-name   c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    986
Error   9   error C2146: syntax error : missing ';' before identifier '_Matches'    c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    1195
Error   10  error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    1195
Error   11  error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    1195
Error   12  error C1903: unable to recover from previous error(s); stopping compilation c:\program files (x86)\microsoft visual studio 10.0\vc\include\regex    1428

Как это исправить и запустить программу? Спасибо

...