动态结构错误,指针转换

时间:2012-04-11 19:40:47

标签: c++ arrays pointers dynamic-allocation

我在我的struct的构造函数中得到此错误。为什么我得到它,因为我只使用*指针而不是**。

错误:

\ListStruc.cpp:26:25: error: cannot convert 'int**' to 'int*' in assignment

struct.h

struct Arr{

    int days;
    int *M;
};
typedef Arr* Array;

struct.cpp

void constr(Array &o){
    //Construct of 1*31 Matrix
    o=new Arr;
    o->days = days;
    o->M = new int*[o->days];

1 个答案:

答案 0 :(得分:3)

由于Mint*,因此正确的初始化将是:

o->M = new int[o->days];