谷物1.2.0 - "更宽松的抛出说明符"使用JSON或XML存档时出错

时间:2016-07-08 13:29:45

标签: c++ compiler-errors throw cereal

我刚刚开始使用Cereal 1.2.0(从1.1.2开始),当我使用JSONOutputArchive或XMLOutputArchive时(包括" cereal / archives / json.hpp"或&),我获得了编译错误#34;谷物/档案/ xml.hpp&#34)

std::stringstream outParamStream;

foo.enable = true;
foo.size = 12;

{
  cereal::JSONOutputArchive outArchive(outParamStream);
  outArchive(foo);
}

doSomeStuffWith(inParamStream->str());

确切的错误是:

..sources/ext/cereal/archives/json.hpp:158: error: looser throw specifier for 'virtual cereal::JSONOutputArchive::~JSONOutputArchive()'

..sources/ext/cereal/archives/json.hpp:402: error: looser throw specifier for 'virtual cereal::JSONInputArchive::~JSONInputArchive()'

..sources/ext/cereal/cereal.hpp:584: error:   overriding 'virtual cereal::InputArchive<cereal::JSONInputArchive>::~InputArchive() noexcept (true)'

我使用-std=c++11编译,使用gcc版本4.7.3

我确实需要std::string,因此我无法转移到二进制或portable_binary存档。

是否有其他人使用Cereal 1.2.0遇到此错误?

我是否遗漏了某些内容(我无法相信他们发布了标题甚至无法编译的内容)?

谢谢!

0 个答案:

没有答案