ビットフィールド

ビットフィールドが int に制限されていることを知らなかった。今後気をつける。

ビットフィールドの型は,int,unsigned intのいずれか一つの修飾版又は非修飾版でなければならない。
6.5.2.1 構造体指定子及び共用体指定子 -- X 3010-1993(ISO/IEC 9899:1990)

ビットフィールドつかって移植性もくそもないけど、 int が 8bit だったり 16bit だったりする世界があるのだからビットフィールドは 8bit 以下に押さえておくのがよい、と。
ところで struct sample { int value:7; } のようなオブジェクトの sizeof(struct sample) は…処理系依存だよなーきっと。 (GCC 4.1 on Linux では 4 だった)