为什么struct里的数组不能直接初始化呢?

struct A
{
int arr[3]={1,2,3};
};

会报错,但是为什么语法会不支持数组初始化呢,除了这样会占用结构更多空间,还有什么原因导致吗?

阅读 3k
2 个回答

c++11 不是可以类内初始化么。。

在c语言的时候不能这样写
struct A
{
int arr[3]={1,2,3};
};
因为这样是定义结构体没为其分配内存,arr[3]无法储存;

struct A
{
int arr[3];
} a;
void main()
{
a[0]=1;
a[1]=2;
a[3]=3'
}

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏