【发布时间】:2016-08-24 14:55:26
【问题描述】:
为什么下面的代码会产生std::bad_cast异常?
#include <iostream>
#include <regex>
#include <string>
int main()
{
std::basic_string<char32_t> reg = U"^\\w";
try
{
std::basic_regex<char32_t> tagRegex(reg);
}
catch(std::exception &e)
{
std::cout << e.what() << std::endl;
}
return 0;
}
为方便起见,此示例在 Ideone 上:https://ideone.com/Saea88
使用char 或wchar 代替char32_t 运行时不会抛出异常(证明:https://ideone.com/OBlXed)。
【问题讨论】:
标签: c++ regex casting stdstring