2

クロスコンパイラを再構築するまで、過去 3 か月間、問題なく GCC でコードをコンパイルしてきました。そのとき、「エラー: ビットフィールド '...' with non-integral type "。

問題のある列挙型の例を以下に示します。

typedef unsigned char byte;

enum class opStatus : byte
{
    /* Process has yet to begin execution */
    Ready,
    /* Process can resume execution */
    Started,
    /* Process has completed */
    Finished,
    /* Process is handling shutdown */
    Finishing,
};

struct // Example usage
{
    opStatus Status : 2;
};

なぜこうなった?

4

1 に答える 1

1

ビット幅を8にします。結局バイトです。

それをしたら(そして構造体の名前を追加すると)、

g++ -std=c++11 

警告やエラーは表示されませんでした。

于 2013-10-15T06:58:46.440 に答える