【发布时间】:2010-12-06 04:38:55
【问题描述】:
我想在结构中包含一个可变长度数组,但无法正确初始化它。
struct Grid {
int rows;
int cols;
int grid[];
}
int main() {
struct Grid testgrid = {1, 3, {4, 5, 6}};
}
我尝试的每件事都会给我一个“错误:灵活数组成员的非静态初始化”错误。
【问题讨论】:
-
我编辑了上面的问题来说明......
-
哪个编译器,在哪个平台上?
-
因此,您希望能够创建两个具有不同长度 grid[] 数组的不同 GRid 对象。
sizeof Grid应该给你什么号码?如果我想创建一个 Grid 对象数组,编译器应该为每个元素分配多少字节?你需要让 grid 成为一个指向 int 的指针。