- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么下面的代码会产生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)。
最佳答案
您可以在这里找到:http://en.cppreference.com/w/cpp/regex/regex_traits :
To use std::basic_regex with other character types (for example, char32_t), a user-provided trait class must be used.
所以你必须实现std::regex_traits<char32_t>
要了解为什么没有定义,请看这里:Why is there no definition for std::regex_traits<char32_t> (and thus no std::basic_regex<char32_t>) provided?
关于c++ - basic_regex 使用 char32_t 抛出 bad_cast,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39126756/
我在 Linux 上使用带有 clang++ 的 cmake。我遇到了一些链接器问题: Linking CXX executable "/run/media/toi/Storage E/Dropbox
万一dynamic_cast失败 bad_cast抛出异常。在我的代码中有一个单独的异常层次结构和 bad_cast不在该层次结构中,因此我的代码无法处理 bad_cast .我可以抛出一些其他异常吗
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
我正在尝试一个虚拟模板函数实现。我在将 this 指针转换为指向子类模板的指针时可以正常工作,但是当我将 *this 转换为对子类的引用时我无法正常工作,为什么? template struct B
我仍然想知道为什么下面给出了 std::bad_cast 异常 #include class A {virtual void fun() {}}; class B : public A {}; in
dynamic_cast 抛出 bad_cast 异常,如果你转换一个引用,但据我所知,标准指针被视为引用,即指针是一种引用类型。 那么我应该在投指针时得到 bad_cast 吗? 这个问题来自 th
这个问题在这里已经有了答案: What is object slicing? (18 个答案) 关闭 7 年前。 我正在尝试了解 dynamic_cast 的工作原理。我有一个类 interface
我在为 dynamic_cast 使用异常处理时遇到了一些问题。它不会总是返回 bad_cast。 尽管 d1 返回 nullptr 并且编译器向我显示警告,但下面的语句没有向我抛出 bad_cast
class GAGenome { virtual void method(){}; }; template class GAArray { }; template class GA1DArra
是否可以抛出 std::bad_cast 的实例?根本的问题不是这样做好不好,而是关于 std::bad_cast 是否有默认构造函数。 谢谢 最佳答案 C++ 标准的 18.5.2 说"is",它有
为什么当失败时返回std::bad_cast时需要Null? 我了解到dynamic_cast失败时,它会返回Null,因此我可以检查Null是否已返回,这意味着发生了错误。 但是,为什么std::b
为什么下面的代码会产生std::bad_cast异常? #include #include #include int main() { std::basic_string reg = U
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
在下面的代码中,在将 derived.properties_ 从 BaseProperties 转换为 DerivedProperties 时,我得到了一个 std::bad_cast 异常抛出。查看
我有一个基类和一个派生类,如果 base 是基类的对象,我有一行会给我错误 std::bad_cast 。为什么它给我那个错误?并尝试我看到 static_cast 有效,但我不知道为什么。 行是:
关于 std::bad_cast 异常,我注意到引用和指针的行为方式似乎不同。例如: class A { public: ~A() {} }; class B : public A {}; //Cas
我正在尝试使用以下代码从文件中读取数据。 (请注意,您需要在 GCC 上启用 C++11 功能才能进行此编译。) #include typedef unsigned char byte; int m
我正在尝试开始使用 Boost for C++。这是一个用 g++ -Wall test.cpp/usr/local/Cellar/boost/1.55.0/lib/libboost_locale
我正在尝试使用 ANTLR4 解析表达式。因此,我正在使用访问者模式并创建一个抽象语法树。 结果可以是一个表达式或其他东西(我从这个示例代码中删除了)。访问者期望返回类型 antlrcpp::Any所
为简单起见, class Parent {} class Child1 : Parent {} class Child2 : Parent {} 在其他地方,我创建了 Child1 和 Child2
我是一名优秀的程序员,十分优秀!