構造体のネストについて

ホーム フォーラム Lazurite IDEについて 構造体のネストについて

このトピックには 1 返信 、 2 ボイス が含まれます。 最終更新 by  Lazuriteの開発者 1号 7 月、 3 週 前.

表示中の投稿 1 (合計 2 中)
  • 著者
    投稿
  • #11868 返信

    むらつば

    以前teratailで投稿したものの再投稿です

    Lazurite IDEで共用体の中に構造体を定義したコードを書きたいですが,エラーを吐いてしまいます.
    このようなコードと同じようなことを実現するための方法はなにかありますか?

    
    #include "test_ide.h"        // Additional Header
    
    union u_data{
        unsigned char BYTE[2];
        struct{
            struct{ // BYTE[0]
                unsigned char   :1;
                unsigned char A :7;
            };
            struct{// BYTE[1]
                unsigned char   :1;
                unsigned char B :7;
            };
        };
    }DATA = {1,1};
    
    void setup() {
      // put your setup code here, to run once:
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    
    }
    #11871 返信

    Lazuriteの開発者 1号
    キーマスター

    下記の様に、構造体に名前を付与すると問題なくビルドは通るようです。
    お試しください。

    union u_data{
    unsigned char BYTE[2];
    struct{
    struct{ // BYTE[0]
    unsigned char :1;
    unsigned char A :7;
    } pack11;
    struct{// BYTE[1]
    unsigned char :1;
    unsigned char B :7;
    } pack12;
    } pack1;
    }DATA = {1,1};

表示中の投稿 1 (合計 2 中)
返信先: 構造体のネストについて
あなたの情報:




× 3 = 12