-1
class A
{
static const int x=3;
char array[x] :24;
};
error: function definition does not declare parameters char array[x] :24;クラス - 関数定義はパラメータ
このエラーは何を意味し、なぜ私はそれを取得していますが宣言されていませんか?
class A
{
static const int x=3;
char array[x] :24;
};
error: function definition does not declare parameters char array[x] :24;クラス - 関数定義はパラメータ
このエラーは何を意味し、なぜ私はそれを取得していますが宣言されていませんか?
違法なメンバーを宣言するという意味です。はっきり[class.bit/]3に置か:基本的なタイプのセクションをご参照
A bit-field shall not be a static member. A bit-field shall have integral or enumeration type ([basic.fundamental]).
を整数または列挙タイプが何であるかを明確にします。配列はそれらの1つではありません。そして、メンバー宣言者の[x]
がそれを1つにしようとします。
しかし、エラーメッセージのテキスト自体はより良い表現になるかもしれません。
_「このエラーは何を意味していますか?_無効な構文です。 _なぜ私はそれを得ているのですか?_これはビットフィールドユニオンの有効な構文ではないためです。 – user0042
int x = 3だけではないのはなぜですか? – QuIcKmAtHs