无法初始化以 std::byte 作为成员类型的位字段

Bit-Field with std::byte as member type cannot be initialized

本文关键字:成员类 成员 类型 字段 初始化 std byte      更新时间:2023-10-16

在 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(中修复。