ページ 11

ビットフィールド

Posted: 2017年10月27日(金) 22:31
by h1j1k1
[1] 質問文
 [1.1] 構造体外でビットフィールドを使う
 [1.2]

コード:

typedef unsigned char:3 test1;

コード:

typedef struct { unsigned char value:3 ; }ts; 
typedef ts.value test2;
 [1.3] 普通に使えなかった
 [1.4] どうにか使いたいのですが、方法が見つからず調べても出てきませんでした

[2] 環境  
 [2.1] OS : Windows7
 [2.2] コンパイラ名 : gcc

[3] その他
 ・どの程度C言語を理解しているか
まだ初心者です
 ・ライブラリを使っている場合は何を使っているか
標準を含めるのであれば

コード:

 <stdio.h>
 <stdlib.h>
 <stdio.h>
 <stdlib.h>
 <time.h>
 <sys/stat.h>
	
です

Re: ビットフィールド

Posted: 2017年10月29日(日) 20:03
by YuO
C/C++の規格上,ビットフィールドは構造体 (クラス) の中でしか定義できません。
なので,コンパイラがそれを許すような独自の拡張をしていない限り,やりたいことを実現する方法は存在しません。
オフトピック
C++かつ固定長ならstd::bitsetを使えばいいのでは,という話になりそうですが。