2012-04-11 2 views
0

이 구조체의 생성자에서이 오류가 발생합니다. 나는 왜 포인터를 ** 사용하지 않고서 만 ** 일을 그만큼 얻을 수 있습니까?다이나믹 구조체 오류, 포인터 변환

오류 :

\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 M 이후

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

답변

3

int*이며, 올바른 초기화는 다음과 같습니다

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

감사합니다..> 어떻게 초기화 할 수 있습니다 클래스의 개체를 사용하여 오류가 발생합니다 int intre Expre, beeing 내 클래스를 변환합니다. –

+0

@ BogdanMaier 나는 당신이 방금 말한 것을 이해하지 못했습니다. –

+0

나는 오류를 수정했다. 이제 나는 그 배열을 만들기를 고대합니다. 클래스 객체의 배열은 생성자/헤더에 선언해야합니다. 그렇지 않으면 클래스 유형이 없기 때문에 어떻게해야하나요? 어떻게해야합니까? –