可以在dll中使用std :: error_category吗?

时间:2015-09-18 15:48:16

标签: c++ c++11 visual-studio-2013 dll stl

我有一个Windows dll抛出std::system_error类别std::system_category()

如果他们被困在dll中,没问题我可以将它们与std::error_condition'进行比较。但是,如果我抓住我的exe链接到dll,那么比较总是失败,因为该上下文中的std::system_category()不= =被捕获异常中的那个。

我很难理解这是否有效,是否有错误,或者是否应该支持?

dll和exe都链接到CRT的相同dll版本。

另外,如果dll和exe链接到CRT的静态版本,我想这不会起作用吗?

我读过this description of std::system_category,(强调我的):

  

获取对 static 错误类别对象的引用以获取错误   由操作系统报告。

1 个答案:

答案 0 :(得分:2)

这是Visual C ++ 2013中的一个错误。它在Visual C ++ 2015中得到修复。