我使用 Visual C++ 2012 编写了以下用于解析命令行参数的代码。这些命令行参数具有传统的 GNU 样式(--option)。
void parseCmdLines(int argc, wchar_t* argv[]) {
for (auto i = 1; i < argc; ++i) {
std::wstring arg(argv[i]);
// I hope it can match the L"--config=../etc/my.conf"
std::wregex regex(L"--config=(+*)");
std::wsmatch match;
std::regex_match(arg, match, regex);
// TODO: ...
}
不幸的是,当我运行这个程序时,我遇到了一个异常。异常描述如下:
Microsoft C++ exception: std::regex_error at memory location 0x23F090.
我怎么解决这个问题?