#include <iostream>
using namespace std;
struct bitfield
{
unsigned char a : 3, b : 3;
};
int main()
{
bitfield bf;
bf.a = 7;
cout << bf.a;
char c;
cin >> c;
return 0;
}
最新のコンパイラでVC++を使用しています。 bf.aをint型にキャストすると、目的の出力が得られます(7)。しかし、私はそれをキャストしないでください、それは出力を提供し、エラーを出すことはありません。それはなぜそうですか?ビットフィールド。なぜ出力はありませんか?
を締結サポート目に見えない文字: 'cout <<(int)bf.a; ' – Raindrop7