class A; A*** pA; // 클래스형 포인터
pA = new A*[idx_one][2];
한후 나중에 pA[0][0]->method 와 같은 방식으로 사용하렵니다만, 에러가 발생합니다. 뭐가 잘못됐나요? 컴파일 에러메시지 Cannot assign 'A ***' with 'A *(*)[2]' cf). idx_one은 변수입니다.
제가 알기로 new 연산자는 한번에 일차원 배열만 할당할 수 있습니다. new A[][] 같은 것은 불가능하다는 예기이지요.
아마 이차원배열을 할당하려고 하신 거겠죠???
그럼
A ** pA = new A*[size1]; // 포인터 배열 할당 for(int i = 0; i < size1; ++i) { pA[i] = new A[size2]; // 각 포인터에 대해 배열할당 }
이런 식으로 하면 될 겁니다.
A (*pA)[2] = new A[idx_one][2]; 이렇게 하시면 될 것 같습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
제가 알기로 new 연산자는 한번에 일차원 배열만 할당할 수 있습니다.
제가 알기로 new 연산자는 한번에 일차원 배열만 할당할 수 있습니다.
new A[][] 같은 것은 불가능하다는 예기이지요.
아마 이차원배열을 할당하려고 하신 거겠죠???
그럼
이런 식으로 하면 될 겁니다.
..
A (*pA)[2] = new A[idx_one][2];
이렇게 하시면 될 것 같습니다.
댓글 달기