[Armadillo:00442] Re: Armadillo-J でのビットフィールドのコンパイルエラー

Kenji Hirano email@hidden
2005年 8月 5日 (金) 15:54:50 JST


お世話になっております,平野と申します.

On Fri, 5 Aug 2005 15:21:43 +0900
"nakai" <email@hidden> wrote:

中井さんのサンプルコードで試したところ問題なくコンパイルできました.
当方の記述に問題が無いように見えたのですが,

union{
    u_char BYTE;
    struct {
        u_char B0:1;
        u_char B1:1;
        u_char B2:1;
        u_char B3:1;
        u_char B4:1;
        u_char B5:1;
        u_char B6:1;
        u_char B7:1;
    } BIT;
} BYTES;

// エラー例
armj_io.h:16: parse error before `0000000'
armj_io.h:16: warning: no semicolon at end of struct or union
armj_io.h:16: warning: no semicolon at end of struct or union
armj_io.h:17: parse error before `:'

上記の記述では B0 〜 B7 などの宣言が問題になっていたようです.
B0 〜 B7 を b1 〜 b7 のように小文字に変えるだけでエラーはなくなりました.
エラーが出た際に,構造体・共用体の記述のみを変えて変数名を変えなかった
ために嵌っていました.

以上,ご享受ありがとうございました.




armadillo メーリングリストの案内