首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有调用‘std::exception::exception的匹配函数(<大括号括起来的初始化器list>)

没有调用‘std::exception::exception的匹配函数(<大括号括起来的初始化器list>)
EN

Stack Overflow用户
提问于 2022-04-06 13:25:26
回答 1查看 883关注 0票数 0

我的项目是在Windows (vc++17)上构建的,而且我对Linux也是新手,所以我不知道发生了什么。

我为我的项目创建了CMakeLists文件(带有C++17需求),生成了makefile,然后我使用make尝试在Linux上构建它。错误是:

代码语言:javascript
复制
/home/julien/source/zipfs/zipfs/include/zipfs/zipfs_assert.h:30:70: error: no matching function for call to ‘std::exception::exception(<brace-enclosed initializer list>)’
   30 |   zipfs_usage_error_t(const char* message) : std::exception{ message } {}
      |                                                                      ^
In file included from /usr/include/c++/9/exception:38,
                 from /usr/include/c++/9/new:40,
                 from /usr/include/c++/9/ext/new_allocator.h:33,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h:33,
                 from /usr/include/c++/9/bits/allocator.h:46,
                 from /usr/include/c++/9/string:41,
                 from /home/julien/source/zipfs/zipfs/include/zipfs/zipfs_path_t.h:3,
                 from /home/julien/source/zipfs/zipfs/include/zipfs/zipfs_error_t.h:3,
                 from /home/julien/source/zipfs/zipfs/source/zipfs_error_t.cpp:1:

已入罪的法典是:

代码语言:javascript
复制
zipfs_usage_error_t(const char* message) : std::exception{ message } {}

我不认为这有什么问题;这是c++版本错配吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-06 13:34:03

接受std::exception参数的std::exception 不提供构造函数。

如果在您正在使用的Windows标准库中存在这种扩展,则它是对该语言的不可移植扩展。

有一些许多派生类可以作为您的基类使用,它们确实支持这个构造函数。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71767599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档