안녕하세요.
C++에서 동적배열을 배웠는데 이런 에러가 나서요.
소스:
int *Array;
Array = new int[10][10]
에러메시지:
cannot convert `int (*)[10]' to `int*' in assignment
그래서 이렇게 고쳐봤는데
소스:
int *Array;
*Array = new int[10][10]
에러메시지:
invalid conversion from `int (*)[10]' to `int'
또 이렇게도 고쳐봤어요.
소스:
int *Array = new int[10][10]
에러메시지:
cannot convert `int (*)[10]' to `int*' in initialization
이게 왜이래요?--동적배열 어렵당.
new int[10][10] 은 int (*)[10] 타입을 돌려주므로 int* 에 바로 넣을 수 없습니다. 포인터 타입을 맞춰 int (*Array)[10] = new int[10][10]; 으로 선언하면 됩니다.
또는 int *Array = new int[100]; 으로 1차원 배열을 쓰고 Array[i*10+j] 로 접근하는 방법도 있습니다.