c++-他的c++20大括号初始化向后兼容性失败的原因是什么?
发布时间:2022-06-12 07:56:13 333
相关标签: # golang
我发现了一个有趣的案例,其中有效(?)使用C++20编译时,C++17代码失败。最简单的复制是具有显式默认构造函数的结构。在C++17上,此代码运行良好。在C++20中,它无法编译。在Clang和GCC上测试。
struct A {
int val;
A() = default;
// When commented out: only works with C++17 or earlier
// When uncommented: works up to C++20
//A(int val) : val(val) { }
};
int main() {
A a{4};
}
有人知道为什么会这样吗?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报