我正在更改我的代码以使用数组而不是链接列表。
事实是我收到了这个错误:
错误:预期的标识符或'('''''之前的标记
我正在这样做:
typedef struct MyStage * stage_t;
struct MyStage {
...
}
stage_t[] stages = new stage_t[len];
如果我这样声明:
struct stage_t stages[len];
我收到如下错误:
错误:数组类型具有不完整的元素类型
我做错了什么?
答案 0 :(得分:1)
你不能这样做
stage_t[] stages = new stage_t[len];
它无效,它不是Java,在c ++中你需要声明一个指针,就像这样
stage_t *stages = new stage_t[len];
其他语法适用于数组声明,数组可以转换为指针,并且它们没有任何额外的代码,但是当您需要动态分配的数组时,您需要使用指针。
另外,你需要记住
delete[] stages;