结构数组

时间:2015-03-25 23:56:01

标签: c++

我正在更改我的代码以使用数组而不是链接列表。

事实是我收到了这个错误:

  

错误:预期的标识符或'('''''之前的标记

我正在这样做:

typedef struct MyStage * stage_t;

struct MyStage {
    ...
}

stage_t[] stages = new stage_t[len];

如果我这样声明:

struct stage_t stages[len];

我收到如下错误:

  

错误:数组类型具有不完整的元素类型

我做错了什么?

1 个答案:

答案 0 :(得分:1)

你不能这样做

stage_t[] stages = new stage_t[len];

它无效,它不是Java,在c ++中你需要声明一个指针,就像这样

stage_t *stages = new stage_t[len];

其他语法适用于数组声明,数组可以转换为指针,并且它们没有任何额外的代码,但是当您需要动态分配的数组时,您需要使用指针。

另外,你需要记住

delete[] stages;