无法初始化以 std::byte 作为成员类型的位字段
Bit-Field with std::byte as member type cannot be initialized
在 C++20 中,可以使用位字段的默认成员初始值设定项。但是此功能似乎无法与std::byte
一起使用。
struct Test {
std::byte a : 2 = std::byte{0}; // NOK
uint8_t b : 2 = 0; // OK
};
这是故意的还是 g++-10(我正在使用的版本(中的错误。
现在在 gcc-trunk(版本 10.0(中修复。
相关文章:
- 将函数类成员映射到类本身内部
- 将Ref对象作为类成员
- 为什么在C++中首先初始化成员类
- 如何使用基类指针引用派生类成员
- g++ 在某个类成员未初始化时不发出警告
- 是否可以同时声明一个类成员的常量/非常量?
- 将自由函数绑定为类成员函数
- 访问类成员而不复制此变量或互斥变量
- 访问条件类成员的方法不仅在被调用时才编译
- 类成员和中断
- 类的前向声明之后的类成员函数定义,在类声明之前
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- std::ofstream 作为类成员删除复制构造函数?
- 删除C++继承中虚拟类成员的代码重复
- 现代 C++ 中作为类成员的非拥有指针
- 重载运算符的范围是什么?它是否会影响作为类成员的集合的插入函数?
- C++初始化类实例时隐式调用类成员的构造函数
- 从类成员函数到类 C 函数指针的转换
- 如何在声明为 const 的方法中更改类成员
- 尝试将向量初始化为类成员时出现问题