具有位字段的类 - 函数定义不声明参数

时间:2017-12-26 11:36:45

标签: c++

class A
{
    static const int x=3;
    char array[x]   :24;
};
  

错误:函数定义不声明参数        char array [x]:24;

这个错误意味着什么以及为什么我会得到它?

1 个答案:

答案 0 :(得分:2)

这意味着您宣布非法成员。简单地放在[class.bit/]3

  

位字段不应是静态成员。位域应具有   积分或枚举类型([basic.fundamental])。

它指的是基本类型部分,以阐明整数或枚举类型是什么。数组不是其中之一。并且成员声明符中的[x]尝试将其合并为一个。

错误消息文本本身可以更好地表达。